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

时间:2013-05-09 01:01:30

标签: ruby-on-rails ruby while-loop nested each

当我在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

2 个答案:

答案 0 :(得分:0)

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

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

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

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

答案 1 :(得分:0)

我遇到了here发布的类似问题。如果我们在带有while循环的行中删除(可选)[difference,index] = min(abs(i-i2)); disp(v(index)); % point where both curves are closest disp(difference); % how close they are at that point ,那么即使在IRB中也是如此。

do