From: Carlos Date: 2002-06-13T05:35:58+09:00 Subject: Re: ruby-dev summary 17252-17356 > |and > | 5.times do |;a| a=gets; print a end > |or > | 5.times do <;a> a=gets; print a end > |? > > How about > > 5.times do a:=gets; print a end > ? The ':=' is nice, but it will become more complicated if later you decide to add variable initialization (you can not initialize a block variable with ':=' (as I understand(?) it) because it is assigned in every iteration). > Or even > > 5.times do let{print a} end > ? And here I can not initialize 'a' only one time for the 5 iterations. I'm pointing specifically at a problem that other posted before: when you need to initialize the local variable with an external object, only once: now: p = list 5.times do p p; p=p.next end list = nil # elements from 6th forward won't be destroyed until I do: p = nil with <> (if we can initialize): 5.times do <;p=list> p p; p.next end list = nil # ok, nothing points to the 6th element And with my proposals I will not make examples because I know you don't like them ;)