2017-05-24 9 views
-4

この短いrubyブロックの構文エラーは何ですか?この短いrubyブロックの構文エラーは何ですか?

def do_this (a,b,c) 
    puts 1.to_s, 2.to_s,3.to_s 
    if a == 4 
     do_this (1,2,3) 
    end 
end 
do_this (4,5,6) 

4行目と7行目に「do_this」というエラーが発生します。

エラーがある:'unexpected ")", expecting "." or...' [...]

+0

「[MCVE]」をお読みください。提出されたコードを実行する必要があります。構文エラーのあるコードは話題にならないので閉じます。 https://stackoverflow.com/help/on-topic#2を参照してください。 –

+0

「1.to_s、2.to_s、3.to_s」をしないでください。文字列または整数を出力すると、画面上に同じことが表示されます。値の視覚的表現は、「puts 1.to_s#>> 1」と「puts 1#>> 1」です。 –

答えて

2

は、メソッド名と括弧の間にスペースを削除します。

+0

なぜ否定的ですか?ダウンボッターはより良い答えを持っていますか? –

+1

おそらくそれはあなたの答えがコメントであるように思われるか、または「かっこ」のスペルが間違っているためです。技術的には非常に簡単ですが受け入れられます。ここに停滞を維持するための投票があります。 –

1

あなたはメソッド呼び出しと括弧内の引数の間にスペースを使用しないようする必要があります。

def do_this (a,b,c) 
    puts 1.to_s, 2.to_s,3.to_s 
    if a == 4 
    do_this(1,2,3) 
    end 
end 
do_this(4,5,6) 
+1

Nay .. 'puts 1.to_s、2.to_s、3.to_s'は問題ありません。エラーを投げません。 –

+0

私のせいで、少し変わっていますが、彼がやろうとしていたことかもしれません。 。 –

+1

多分..ないかもしれませんが、最初の例ではエラーと思われますが、私はそれを実行しようとしましたが、うまくいきます。 –

関連する問題