2017-05-24 33 views
-4

這個簡短的紅寶石塊有什麼語法錯誤?這個簡短的紅寶石塊的語法錯誤是什麼?

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) 

我得到的第四和第七行,其中「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

爲什麼消極? downvoter有更好的答案嗎? –

+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

不是.. ..放1.to_s,2.to_s,3.to_s'很好..不會拋出錯誤 –

+0

我的錯,儘管它有一點變化,也許是他正在嘗試做的(也許不是) 。 –

+1

也許..也許不是..但我同意,在第一個實例,似乎是一個錯誤,但我試圖運行它,它的工作原理.. –