2014-10-17 44 views
0

我正在一個unexpected keyword_end錯誤,我不知道爲什麼:意外keyword_end每循環

def add(meeting) 
    if conflict?(meeting) 
     puts "There's conflict with another meeting!" 
    else 
     if @meetings.empty? 
      @meetings.push(meeting) 
     else 
      i = 0 
      @meetings.each do |m| 
       if m > meeting 
        @meetings.insert(i, meeting) 
        break 
       end 
       i++ 
      end 
     end 
    end 
end 

如果我刪除each環是沒有問題的。我嘗試過使用while循環和until循環,我在所有這些循環中都遇到同樣的錯誤。

有人可以解釋我做錯了什麼嗎?

+0

如果你想要索引,你應該使用'each_with_index' – roippi 2014-10-17 12:04:27

回答

2

Ruby中沒有一元運算符++。你應該有:

i += 1 
1

在第14行,要添加兩個數字,但你忘了通過第二個數字,而不是解析器遇到end。所以,這個錯誤信息有些誤導性:並不是說解析器不在那裏,而是期望在之前看到之前的end