Project1

标题: 写RGSS写的火大了,谁来救我,总是报错 [打印本页]

作者: alwing    时间: 2007-6-25 03:26
标题: 写RGSS写的火大了,谁来救我,总是报错
card = [
1,2,3,4,5,6,7,8,9,0,0,0,0,
1,2,3,4,5,6,7,8,9,0,0,0,0,
1,2,3,4,5,6,7,8,9,0,0,0,0,
1,2,3,4,5,6,7,8,9,0,0,0,0]
z1 = rand(51)
z1p = card[z1]
card[z1] = nil

loop do
  z2 = rand(51)
  if card[z2] != 99
    break
  end
end

p z1  # =>正常
p z2  # =>错误 [LINE]1,#dddddd[/LINE]版务信息:本贴由楼主自主结贴~
作者: alwing    时间: 2007-6-25 03:26
标题: 写RGSS写的火大了,谁来救我,总是报错
card = [
1,2,3,4,5,6,7,8,9,0,0,0,0,
1,2,3,4,5,6,7,8,9,0,0,0,0,
1,2,3,4,5,6,7,8,9,0,0,0,0,
1,2,3,4,5,6,7,8,9,0,0,0,0]
z1 = rand(51)
z1p = card[z1]
card[z1] = nil

loop do
  z2 = rand(51)
  if card[z2] != 99
    break
  end
end

p z1  # =>正常
p z2  # =>错误 [LINE]1,#dddddd[/LINE]版务信息:本贴由楼主自主结贴~
作者: 暗之影    时间: 2007-6-25 04:17
提示: 作者被禁止或删除 内容自动屏蔽
作者: 幻の飞鱼    时间: 2007-6-25 05:14
没看懂LZ的语句,但如果要不改动语句不出错的化,下面这样

loop do
@z2 = rand(51)
if card[@z2] != 99
   break
end
end

p z1  # =>正常
p @z2  # =>错误

因为Z2是个局部变量,在loop里面定义的,外面似乎不认样的,我也不知道为什么- -
我只知道加了@外面就认了- -
但也只是本类认~~如果加$就全局都认了 [LINE]1,#dddddd[/LINE]系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~
作者: alwing    时间: 2007-6-25 05:21
谢谢




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1