簡體   English   中英

Ruby on Rails:將每個循環嵌套在while循環內會產生錯誤

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM