概要
Procオブジェクトの受け渡しについて
サンプルコード
class Calculator def initialize(price, quantity, &calculator) @price, @quantity, @calculator = price, quantity, calculator end def discount(discount_rate) base_sales = @price * @quantity return base_sales - (base_sales * @calculator.call(discount_rate)) end end calculator = Calculator.new(100,10) {|unit| unit / 100.0 } puts calculator.discount(5) # 5%割引 puts calculator.discount(10) # 10%割引
出力
950.0 900.0