From: Robert Klemme Date: 2007-09-10T21:34:06+09:00 Subject: Re: Bug in lambda? 2007/9/9, dblack@wobblini.net : > Definitely not a bug. Block parameters use assignment semantics, with > regard to the scope in which the block appears. In your example, > you're assigning 1 to a. If you create a local variable inside the > block, however, it only exists for the duration of the block. > > As far as remember, Guy Decoux and I are the only two people who think > that this makes perfect sense, once you learn it, and should not be > changed :-) Now I'm curious: how often do you have use for this feature? I mean, if block parameters were locally scoped you just had to punch in one more assignment to get the same effect like the current version: def foo x=1 lambda {|a| x=a} end Do I miss something? Kind regards robert