每个循环都出现意外的关键字end



我收到一个unexpected 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循环,但在所有循环中都出现了相同的错误。

有人能解释一下我做错了什么吗?

Ruby中没有一元运算符++。你应该有:
i += 1

在第14行中,您添加了两个数字,但忘记传递第二个数字,相反,解析器遇到了end。因此,错误消息有点误导:这并不是说解析器不希望在那里出现end,而是希望在end之前看到一些

最新更新