неопределенный метод '+ @' - ошибка Ruby - PullRequest
0 голосов
/ 22 июня 2011

Я пытался написать цикл while в Ruby, подобный следующему:

number = 3
string = "lalaLand"
def main(number, string)
    n = 1
    while n <= number do
        print string + 'something else' + n.to_s
        n = n + 1
    end
end
main(number, string)

И я продолжаю получать ошибку:

...: undefined method `+@' for "lalaLand":String (NoMethodError)

Может кто-нибудь помочь мне с этим?Спасибо

---- РЕДАКТИРОВАТЬ --- (реальный код, может быть, я что-то пропустил)

devel_number единственный, объявленный как int (то есть: devel_number = 4остальные строки: project_name = "lalaLand") ...

def b_sani_dev(project_home, source_dir, project_name, devel_number)

    n = 1
    while n <= devel_number do
        system 'mkdir -p ' + project_home + 'dev_'+ n.to_s + '/main'
        system 'mkdir -p ' + project_home + 'dev_' + n.to_s + '/LOG'
        n = n + 1
    end            
    b_sani_dev(project_home, source_dir, project_name, devel_number)

1 Ответ

0 голосов
/ 22 июня 2011

Весь код, который вы разместили, должен работать нормально, но ошибка связана с попыткой использовать унарный оператор + в строке, что недопустимо.

+17   # totally fine
+"hi" # throws an error; what does this even mean?
...