Возможно ли выполнить proc в контексте другого объекта?Binding of Procs
Я знаю, что обычно вы делаете proc.call (foo), а затем блок должен определять параметр. Мне было интересно, могу ли я заставить «я» привязать к foo, так что нет необходимости иметь параметр блока.
proc = Proc.new { self.hello }
class Foo
def hello
puts "Hello!"
end
end
foo = Foo.new
# How can proc be executed within the context of foo
# such that it outputs the string "Hello"?
proc.call
'foo.instance_eval (& POC)' –
Может кто-нибудь дать мне ссылку документации для этого? Это, безусловно, работает (и это действительно потрясающе), но я бы хотел прочитать документы. :) –
@Josh Glover: http://www.ruby-doc.org/core-1.8.7/classes/Object.html#M000005 – Chuck