-2

我一直在尝试在 Ruby 中编写类似于以下内容的 while 循环:

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)

谁能帮我这个?谢谢

----EDIT--- (实际代码,也许我错过了一些东西)

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)
4

1 回答 1

0

您发布的所有代码都应该可以正常工作,但错误源于尝试+在字符串上使用一元运算符,这是非法的。

+17   # totally fine
+"hi" # throws an error; what does this even mean?
于 2011-06-22T04:49:43.897 回答