我有一個臭方法,如:紅寶石「回報,除非無」成語
def search_record(*args)
record = expensive_operation_1(foo)
return record unless record.nil?
record = expensive_operation_2(foo, bar)
return record unless record.nil?
record = expensive_operation_3(baz)
return record unless record.nil?
record = expensive_operation_4(foo, baz)
return record unless record.nil?
end
是否有「呼叫,除非零返回結果」良好的紅寶石成語?
或者我應該只寫一個return_unless_nil(&blk)
方法?
(請注意,ARG遊戲爲每個調用不同的,所以我不能只是簡單地在它們之間迭代)
可以記錄爲'false',或者絕對是真實記錄還是零? – 2011-06-15 06:07:28
「或者我應該寫一個'return_unless_nil(&blk)'方法?」哪個會從調用它的方法返回?我不認爲這是可能的。 – 2011-06-15 06:10:35
我有約10分鐘的時間在學習紅寶石,但我很好奇你會怎麼寫一個方法來爲調用者返回一個值?至於一個潛在的答案,我覺得這是一個真正的答案,因爲我的紅寶石曝光非常有限......你可以在紅寶石中使用類似的東西嗎? 'return(record = expensive_op(foo))除非record.nil?'不知道這對你是否有點臭? – 2011-06-15 06:13:09