我有一個重複的比較,我必須檢查三個變量是否等於某個變量。爲了簡單起見,我將創建一個說明我遇到的問題的場景。'幹我的Ruby語法
if time == -1 and day_of_week == -1 and month == -1
我想知道是否有一個簡潔的,在邏輯上等價的方式來實現這個代碼行不重複。
現在,我用這樣的一種迂迴的方式如下:
all_equal = true
[time_now, day_of_week, month].each { |value| all_equal = false if value != -1 }
if all_equal ....
哈,這顯然是相當過頂(並明確效率較低),但我覺得缺乏重複更悅目看着。
你會推薦更好的方法嗎?
謝謝!
一邊,你的第二個版本是遜色,因爲它不允許短路評價。 – RoundTower