From: Mike Gold Date: 2008-10-01T02:06:38+09:00 Subject: Re: ruby1.9 block scope I hope I'm not belaboring the point, but -- a = Class.new { define_method(:f) { x } define_method(:x) { 33 } }.new x = 44 b = Class.new { define_method(:f) { x } define_method(:x) { 55 } }.new p a.f # => 33 p b.f # => 44 You want a.f == 44. I do not. If you think this is a contrived example then you haven't been exposed to the elegant solution this gives for certain cases. At run-time we are creating additional layers of abstraction which translate the current context into pieces which are passed to lower levels. -- Posted via http://www.ruby-forum.com/.