>>>>> "D" == Dave Thomas <Dave / PragmaticProgrammer.com> writes: D> [1, 2, 3].each {|@i| } D> p @i #=> 3 D> Here the formal arguments to a block affect non-locals. It seemed D> analogous. It seems, but with |@i| this a multi-assignement (NODE_MASGN) and this is not the case with def() If you thing that it's analoguous then I want the syntax [1, 2, 3].each {(@i) } :-))) Guy Decoux