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

誰でもこれで私を助けることができますか?ありがとう

----編集--- (実際のコード、見逃したものがあるかもしれません)

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 に答える