我認爲我可能不會用最紅寶石的方式編寫懶惰的實例化方法/屬性。以此方法爲例:寫一個多行懶惰計算方法的ruby方法是什麼?
def tax
@tax ||= Proc.new do
if flat_tax > commission_plan.tax_max
return commission_plan.tax_max
end if commission_plan.tax_max
if flat_tax < commission_plan.tax_min
return commission_plan.tax_min
end if commission_plan.tax_min
flat_tax
end.call
end
是否有更像ruby的方式來重構此方法?
...爲什麼你在那裏創建一個匿名函數? – YuriAlbuquerque
我有點驚訝,如果faz結束,如果baz是有效的Ruby。但是,請不要寫這樣的代碼! –