On Jun 2, 8:41 am, dbl... / wobblini.net wrote: > Hi -- > They're allowed; they're just not executed until the enclosing method > is executed. Okay. I misunderstood (should have read your post more carefully... actually I should have gotten my coffee first ;) So can anyone explain to me why this behavior was chosen over the other possibilities? Namely 1) Why are they defined in the outer defs namespace and not self.class. 2) Why is this better then localizing the definition to the outer method? I tend to favor localization. But really that's only b/c lamdas can't be called the same way methods can, so they can't be used as local drop in replacements. This is one of great things about ruby's "ambiguity" between local vars and methods. Eg. class X def f; 10; end def g f = 20 # local override f end end Unfortunately we have no simple way to do this using lamdas, which would make this much more useful. T. > David > > -- > Q. What is THE Ruby book for Rails developers? > A. RUBY FOR RAILS by David A. Black (http://www.manning.com/black) > (See what readers are saying! http://www.rubypal.com/r4rrevs.pdf) > Q. Where can I get Ruby/Rails on-site training, consulting, coaching? > A. Ruby Power and Light, LLC (http://www.rubypal.com)