0

当我在 rails 控制台中执行以下代码时,出现语法错误:“语法错误,意外 $end,期待关键字结束”

range = 2
my_array = Array.new(range)
a = [1]
i = 0
while i < range do
  a.each do |b|
    puts "test"
  end
  i += 1
end

有谁知道我做错了什么?奇怪的是,代码在我的服务器上的 ruby​​ 文件中运行。

非常感谢!

晚礼服

4

2 回答 2

0

如果您在 IRB 中执行它,正如 Beerlington 所说,这很可能是换行问题。

它会解释为什么它在你的 .rb 文件中工作,但在 IRB 中没有......

解决方案?在 IRB 中,您可以使用分号来结束一行而不执行它......或者如果您有很长的行(该代码块没有),您可以使用经典的 \,就像您在命令行...

或者...尝试pry。这是一个 IRB 替代品,可以满足您的需求。

于 2013-05-09T02:03:30.670 回答
0

我在这里发布了类似的问题。如果我们将(可选)do放入带有 while 循环的行中,那么即使在 IRB 中也可以使用。

range = 2
my_array = Array.new(range)
a = [1]
i = 0
while i < range
  a.each do |b|
    puts "test"
  end
  i += 1
end
于 2018-01-27T16:42:08.910 回答