Proc#binding
Proc#bindingは、そのProcに関連づけられたBindingオブジェクトを返します。
詳しくはri Proc#binding参照。以下のサンプルも、ri Proc#bindingを元にしています。
def rubyco(x, y) x += 1 y += 2 proc { } end pc = rubyco(0, 0) p eval("[x, y]", pc.binding) #=> [1, 2] p eval("[x, y]", pc) #=> [1, 2]
確かにProcとBindingは同一視できますね。