2016-08-30 70 views
-1
prompt("Welcome to Calculator! Enter your name:") 

name = '' 
loop do 
    name = Kernel.gets().chomp() 

    if name.empty()? 
     prompt("Make sure to use a valid name") 
    else 
     break 
    end 
end 

不知道我在這裏錯過了什麼。語法錯誤,意外的keyword_else,期待':' - RUBY

我得到這個錯誤訊息話題:

syntax error, unexpected keyword_else, expecting ':' 
+0

順便說一句,你可以省略所有這些括號,尤其是空的那些。 – Stefan

回答

1

if name.empty()? 

三元操作符被解釋爲三元'if'裏面的經營者經常發言:

if (name.empty() ? do_somethig : do_something_else) 

和雙點在你的代碼所缺少

也許你的意思是這樣的:

if name.empty? # is equal to 
if name.empty?() 

因爲問號是方法名稱的一部分

3

試用

if name.empty? 

請注意,您可以調用有沒有括號沒有PARAMS方法。否則,你應該做name.empty?(),因爲?是方法名稱的一部分。

無論如何,你的錯誤是if條件後的?。該錯誤消息說你與?它試圖處理具有此語法

condition ? expression1 : expression2 

因爲這個原因,預計:

相關問題