2013-05-09 89 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中也是如此。