(неопределенный метод `+ @ 'для []: Array) - PullRequest
3 голосов
/ 16 сентября 2009

Я получаю очень странное сообщение об ошибке, когда пытаюсь перебрать массив объектов. Ошибка

NoMethodError (undefined method `+@' for []:Array):

Вот код этого цикла.

#go through items and see if there are any corresponding offers 
    #All matches are stored in a hash
    items.each do |itemsi|
        bestoffer = -1
        matchescounter++ #matchescounter only get incredmented when all the offers have been taken care of
        offers.each do |offs|
        if itemsi.togive.to_str == offs.totake.to_str
            if offs.togive.to_int > bestoffer
                bestoffer = offs.togive.to_int
                matches[matchescounter].store(itemi, offer)         
            end#if
        end#if
        end#offers loop
    end#items loop

У меня нет + @ в моем коде. Странно

1 Ответ

11 голосов
/ 16 сентября 2009

В Ruby нет оператора ++.

И сообщение об ошибке на самом деле довольно ясно: в нем говорится, что метод с именем '+ @' не существует для вашего экземпляра типа Array. '+ @' - это фактическое имя метода экземпляра унарный плюс , определенного для числового типа, но не для массива.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...