0
有沒有辦法寫這段代碼而不寫兩次字foo?Rails如果語句越來越長...當它應該很簡單
foo? foo : 0
在我的情況,foo
就像是vehicle.maintenance.starting_odometer
一個東西,所以你可以想像,如果我要檢查存在像這些對象的代碼變得相當冗長和醜陋。
有沒有辦法寫這段代碼而不寫兩次字foo?Rails如果語句越來越長...當它應該很簡單
foo? foo : 0
在我的情況,foo
就像是vehicle.maintenance.starting_odometer
一個東西,所以你可以想像,如果我要檢查存在像這些對象的代碼變得相當冗長和醜陋。
當然,你可以使用||
:
foo || 0
選言符(稱爲or
或||
)首先着眼於左側的元素。如果真的(不是nil
或false
)它返回。否則,它會評估並返回右邊的元素。三元運算符的工作方式相同,只是它允許您指定不同的值來代替原始的「左手」元素。
很好..像黃油。 – Bruno 2013-05-13 19:06:29
這不是很長。但是'foo?'在'foo'之後需要一個空格。否則,它會被解釋爲一個方法的名稱('語法錯誤,意外':'') – 2013-05-13 18:55:28