On Sun, Jun 03, 2001 at 11:10:19AM +0900, Jim Freeze wrote: > On Sun, 3 Jun 2001, Guy N. Hurst wrote: > > Yikes! I hate "->" much more than "<...>" > > And array{i} won't go over well, either, since it has > > such a different meaning already. > > > Yikes is right. :) I still have nightmares about perl's array > and hash reference operators. Well I guess no one likes -> :). No one commented on the use of square brackets but I think its reasonable to assume its not liked either. I was thinking that we would use () instead of || for block local arguments. Then it was pointed out that this creates ambiguous code ie (1..5).each ( ... ).method end so i was thinking we could use square brackets instead. this wouldn't have the above problem. But now as I think about it my proposal has a big problem -it's too much change. So i am going to drop it and go with changing the meaning of ||. > > I would prefer to have the current meaning of || > altered to be local to the block only. My reasons > for this are that: > 1) I think there are few programs that rely on this quirk > 2) It is not good programming practice to rely on this quirk. > If you did this you deserve to have your code broken :) > 3) If you need the old effect (ie, export a variable), it > is easy to explicitly implement (although a bit ugly): > > a_ > 5.times {|a| puts a; a_ = a} > a = a_ I think I would be in favour of the export proposed earlier instead of this. That way if a variable is existing you can just use a unique block name and assign to the outer scope. If it's not and you want it you can just export. > > BTW, I have read several posts asking to see code where > someone needed to see a value exported. I am still unclear > on this point. I suppose if you exited early from a block > that that would create a real need for exporting a value. > BTW, how do you exit early from a block? I have looked through the code I have and can't find anything but I can remember doing this at least once. I wonder if anyone else can show examples?? Sorry for ->, Chris Moline