次のプロシージャがあると仮定します。
a = Proc.new do
puts "start"
yield
puts "end"
end
a
また、後でそのブロックを使用して別のクラスを呼び出す別のメソッドに渡すと仮定instance_eval
すると、 で生成されるそのメソッドの最後にブロックを渡すにはどうすればよいでしょうかa
。
例えば:
def do_something(a,&b)
AnotherClass.instance_eval(&a) # how can I pass b to a here?
end
a = Proc.new do
puts "start"
yield
puts "end"
end
do_something(a) do
puts "this block is b!"
end
もちろん、出力は次のようにする必要があります。
start
this block is b!
end
セカンダリ ブロックを に渡すにはどうすればよいinstance_eval
ですか?
私が取り組んでいる Ruby テンプレート システムの基礎として、このようなものが必要です。