我一直在尋找類似Python中的while/else結構來改進我的代碼。Python的for Ruby的等價物
這意味着循環被執行,並且如果循環中的條件在任何時候都不成立,則它返回else語句中的值。
在Ruby中,我可以這樣做:
if @items.empty?
"Empty"
else
@items.each do |item|
item
end
end
那麼,有沒有改善此問題的方法?
預先感謝您。因爲each
爲它的副作用執行,並返回原來的接收器
@items.empty? ? 'Empty' : @items.each { |item| item }
您可能需要做一些更有益的在你的塊,雖然,:
我不喜歡它只是一條線。這並不清楚。我想要的是類似於while/else/end。也許這是不可能的,但我認爲這個問題是值得的。 – Cydonia7
我現在查了Python的'while/else',@Zabba是對的,如果你不喜歡三元形式,最接近的可能是'unless..else'。恕我直言,嘗試將每種結構從一種語言翻譯成另一種語言是沒有意義的,但YMMV。 –
我並沒有試圖翻譯所有的語言,但我認爲Python中的這個結構非常有用。謝謝你的回答:) – Cydonia7