我想以更類似於Ruby的風格編寫Ruby代碼,並在使用參數傳遞時遇到問題。我想看看ABC
是不是零。如果ABC
是零,我會傳遞另一個符號到dosomething
,如果不是,我會傳遞另一種類型的哈希值來計算。如何爲傳遞鍵值參數編寫更好的代碼?
由於Ruby不像Java,它可以傳遞不同類型的參數(不同的鍵)。
如何讓下面的代碼更漂亮?
合併do_manything
,do_otherthings
,do_manythings_again
成一個單一的功能是沒有答案的我,因爲我會打電話dosomething
在我的代碼中的許多地方:
if ABC.nil?
Apple.dosomething (:foo => DEF) { |a|
a.do_manything
a.do_otherthings
a.do_manythings_again
}
else
Apple.dosomething (:bar => ABC) { |a|
a.do_manything
a.do_otherthings
a.do_manythings_again
}
end
除非'ABC'可以是'nil'和'false'(所以你需要告訴另一個),這不是慣用的寫一個明確的'.nil?'檢查。 – tokland