次のような DSL のような Ruby コードがあります。
Activity.new('20-06-2012') do
Eat.log do |l|
l.duration = 0.30
l.priority = 5
end
Work.log do |l|
l.duration = 2
l.priority = 3
end
end
log() メソッドが呼び出されるたびに、メソッドに渡されたブロックを使用して Log オブジェクトが (舞台裏で) インスタンス化されます (ブロックは Log オブジェクトのコンストラクターに渡されます)。私の質問は、log() メソッドからのすべての戻り値を収集する方法はありますか? 上記の例では、最も外側のブロックの戻り値は、log() への最後の呼び出しです。しかし、最後の結果だけでなく、すべての呼び出し結果を配列で取得したいと考えています。
ありがとう!