我可以用一個三元運算符是這樣的:紅寶石:獲取值,如果真或
a.empty? ? a : b
如果a
只是一個短暫的變量,這個工程。如果我不想使用一個變量,但是,例如,我在一個複雜的數組函數鏈中,我沒有臨時變量,如何在不重複鏈的情況下執行此操作?這對我來說似乎只與零值在哪裏工作,我可以使用or
a.filter { bla bla bla }.map { bla bla bla }.reduce { bla bla } || b
但對於任何其他類型的支票如何做到這一點?
a.filter { bla bla bla }.map { bla bla bla }.reduce { bla bla }.empty? ? a.filter { bla bla bla }.map { bla bla bla }.reduce { bla bla } : b
一個問題。如果a是'空',爲什麼你想要再次執行?我錯在想:「如果filter-> map - > reduce給你一個空的結果,你想再次運行它,爲什麼?」 – Arindam 2013-02-26 19:09:19
不知何故使用臨時變量不是一個選項? – nicooga 2013-02-26 19:09:50
我只是檢查空的?過濾後。 – 2013-02-26 19:11:55