ruby的新手,探索teranary運算符。三元運算符語法錯誤
這個作品也預計:
5==5? "x" : "y"
返回 「X」,因爲一切都在Ruby是一種表達。
但是,這不...
user.birthday? "x" : "y"
它的假設,以檢查是否生日是零,並返回相應的字符串。但它給我一個語法錯誤:
syntax error, unexpected ':', expecting $end
user.birthday? "x" : "y"
^
這個聲明有什麼不同?
感謝
謝謝。但是5 == 5?返回一個布爾值,並且user.birthday?也是。那爲什麼它不這樣工作?在這兩種情況下,語法歸結爲:BOOL IFSTATEMENT:ELSESTATEMENT(PS - 我會在7分鐘內接受你的答案) – 0xSina
在'user.birthday?'中,問號是方法名稱的一部分,所以沒有三元(?)運營商。 –
@ 0xSina:將隱含括號添加到'user.birthday? 「x」:「y」',你得到'user.birthday?(「x」:「y」)'(這根本沒有任何意義)。 –