>>>>> On Sun, 11 Mar 2001 04:48:19 +0900, >>>>> Dave Thomas <Dave / PragmaticProgrammer.com> (dt) writes: dt> an attribute of the block? For now, ignore the notation and consider dt> the idea :) Interesting idea. Not so keen on the syntax. dt> '{{' introduces a block with local scope. No changes to variables or dt> parameters inside the block are visible outside. If a variable inside dt> the block has the same name as an existing local, it is initialized to dt> that local's value, but is otherwise independent. dt> n = 123 dt> 3.times {{ dt> puts n dt> n += 2 dt> }} What about using do? Would that be: n = 123 3.times dodo puts n n += 2 endend ;-) What if a new special keyword--like do--that was created to represent a block with this particular characteristic? Or maybe an argument to Proc.new that would indicate the kind of locality that you describe? -- Amos