【发布时间】:2020-10-08 00:08:21
【问题描述】:
我正在尝试在 Ruby 中创建一个数组。当调用我的函数来打印数组时,数组似乎是未定义的。我想知道我的语法是否关闭。
有人可以告诉我这是否是在一行中创建和实例化数组的正确方法,还是问题出在我的代码中的其他地方?
下面是我的 Ruby 代码:
class Game
words = Array["hat", "cat", "ate", "run", "eye", "soup", "date",
"bake", "wake", "grape", "apple", "pride", "drive",
"tacos", "linux", "orange", "purple", "volume",
"liquid", "palace", "molasses", "diamond", "sausage",
"america", "england"]
# starts the game state to play
def start_x
# game logic for begin
puts(words)
end
# if users wins
def win
puts("congratulations! you win!")
end
# if user loses
def death
puts("sorry! you die!")
end
end
【问题讨论】:
-
“我想知道我的语法是否关闭。” – 由于你的方法被调用,你的语法显然是好的,因为要调用你的方法,代码必须实际运行,为了运行,代码必须被解析,为了被解析,它有避免语法错误。如果您没有收到
SyntaxError异常,那么您的语法是可以的。如果要检查语法,可以使用ruby命令的-c选项来检查语法。 -
@Jacked_Nerd:虽然您的数组创建显然是正确的,但如果您是一个懒惰的打字员,更简单的方法是
words=%w(cat ate run .... england)。但是,您不能从方法内部访问变量words。例如,您可以将其设为与类关联的变量,即@@words=%w(....),然后当然将其输出为puts @@words。
标签: arrays ruby variables syntax