>>>>> "B" == Ben Tilly <ben_tilly / hotmail.com> writes:

B> in Perl.  By itself this is useful as a way of telling
B> Ruby that I don't care if there is already something in
B> scope called foo, this foo is private.

 Like I've said previously I think this is easy to do (just re-use a
keyword like `do' to don't break old scripts), but finally you end up with
something that is difficult to understand.

 Just an example

pigeon% cat b.rb
#!./ruby
def toto(a)
   p "1 #{a}"
   do(a = a - 2, b = 2)
      p "2 #{a}, #{b}"
      do a = a + 2, b = a + 10
         p "3 #{a}, #{b}"
         [4].each do |a|
            p "3' #{a}"
         end
         p "3 #{a}, #{b}"
      end
      p "4 #{a}, #{b}"
   end
   p "5 #{a}"
end
toto(12)
pigeon% 

pigeon% b.rb
"1 12"
"2 10, 2"
"3 12, 20"
"3' 4"
"3 4, 20"
"4 10, 2"
"5 12"
pigeon% 

 If you really understand this script (when you read it), you are lucky :-) 


Guy Decoux