Предполагая, что у меня есть следующий процесс:
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, над которой я работаю.