From: Yukihiro Matsumoto Date: 2007-01-11T00:04:54+09:00 Subject: Re: [ ruby-Bugs-7680 ] a block argument within a block which argument has the same name leaks Hi, In message "Re: [ ruby-Bugs-7680 ] a block argument within a block which argument has the same name leaks" on Wed, 10 Jan 2007 23:47:43 +0900, James Edward Gray II writes: |> |And otherwise 1.9 still uses the 1.8 lexical scoping semantics, yes? |> |> Yes, other local variables are local to innermost surrounding block. |> At least until I make a big decision. | |I really like this approach. What's the downside to this choice? I sometimes want to take out values from the block and I hate to be forced to assign only for "variable declaration", for example ary.each {|x| if cond(x) val = func(x) break end } p val # val is out-of-scope matz.