2013-05-09 98 views
0

我得到一个语法错误,当我铁轨控制台中执行以下代码每次循环: “语法错误,意想不到的$结束,预计keyword_end”Ruby on Rails的:嵌套while循环产生错误

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

你是如何在rails控制台中执行它的?你只是在粘贴它?这将无法正常工作,因为它将代码分解并逐行执行,而不是作为完整的程序执行。 – 2013-05-09 01:07:09

+1

是的,我做了;)感谢您的帮助,分号做了诀窍。 – tuxware 2013-05-09 18:14:44

+0

分号..哪里? – mlemboy 2013-09-08 09:13:46

回答

0

如果你在IRB执行它,它很可能是,作为Beerlington说,这是断行的问题。

它会解释为什么它在你的.rb文件的工作,但不是在IRB ...

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

或...尝试pry。这是一个IRB替代品,它将成为您的大块食品。

+2

感谢您的帮助,分号完成了任务。 – tuxware 2013-05-09 18:15:24

0

我遇到过类似问题张贴here。如果我们放弃(可选)做while循环,那么即使在IRB中也是如此。