2011-06-22 15 views
-2

私は次のようにRubyで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 `[email protected]' for "lalaLand":String (NoMethodError) 

缶誰もがこれで私を助ける? おかげ

---- EDIT ---(実際のコード、多分私は逃したものがある)

devel_numberがint型として宣言だけです(例:残りは文字列で、devel_number = 4project_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

私のためにうまく動作します。 – User1578

+0

DEF b_sani_dev(PROJECT_HOME、のsource_dir、PROJECT_NAME、devel_number) N = 1 ながらN <= devel_number行う システムのMKDIR -p '+ PROJECT_HOME + 'DEV +' + n.to_s + '/ M' システムのMKDIR -n = n + 1 end – mhz

+0

hmm my bad、実際のコードの編集を追加します – mhz

答えて

0

あなたが投稿したコードのすべてが正常に動作する必要がありますが、エラーが違法である、文字列、上単項+演算子を使用しようとするから茎。

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

+演算子はrubyの文字列で動作します:) – mhz

+0

http://www.wellho.co.uk/solutions/ruby-string-functions-in-ruby.html – mhz

+2

はい、2つの文字列を追加すると、 '+'が動作します。あなたのエラーメッセージは、ただ一つの文字列に '+'を使用しようとしたことに由来しています。意味がありません。 –

関連する問題