Ruby on Rails:在while循环中嵌套每个循环会产生错误

当我在rails控制台中执行以下代码时出现语法错误:“语法错误,意外$ end,期望keyword_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文件中的我的服务器上工作。

非常感谢!

tuxware

如果你在IRB中执行它,正如Beerlington所说的那样,这可能就是线路问题。

它解释了为什么它在您的.rb文件中工作但在IRB中没有…

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

或者……试试撬 。 这是一个IRB替代品,可以容纳你的大块。

我在这里发布了类似的问题。 如果我们使用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