From: Artem Voroztsov Date: 2008-04-18T18:53:52+09:00 Subject: Block binding does not contains local variable Maybe it contains. But please, explain me why "block binding" does not print a, b, and c variables. def vars(&block) b = block.call(55) puts "inner binding: ", eval("local_variables", b) puts "block binding: ", eval("local_variables", block.binding) end vars {|a| b = 1 c = 2 binding } My output: ruby 1.8.6 (2007-09-24 patchlevel 111) [i386-mswin32] inner binding: c b a block binding: