[英]Ruby on Rails: nested each loop within while loop generates error
當我在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文件中運行。
非常感謝!
燕尾服
如果您正在IRB中執行它,就像比林頓說的那樣,很可能是換行問題。
它說明了為什么它在您的.rb文件中起作用,但在IRB中卻不起作用...
解決方案? 在IRB中,您可以使用分號結束一行而不執行它...或者如果您有一長行(該代碼塊沒有該行),則可以使用經典\\,就像您在命令行...
或者...嘗試撬開 。 這是IRB的替代品,可以滿足您的需求。
我曾經面臨類似的問題貼在這里 。 如果我們使用while循環在行中刪除(可選) do
,則即使在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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.