>> YM> Yes.  But I feel "':' to indicate local" is ugly.  Many (or most)
>> YM> people want their block parameters "local to the block".  But "':' to
>> YM> indicate local" requires additional mark for common case.  "':' to
>> YM> indicate *external*" is better in this sense, but this also breaks
>> YM> existing code.
>>
>> may be some pragma like 'use ruby1.7" can help in providing
>> non-compatible changes to language?

Yes, that was I say under a different topic...

>here we go, down the perl road to disaster...
>what happened to the 'principle of least surprise' in this question?

That way

1. The bug

a=2
[1,2,3].map {|a| a}
puts a

CAN be avoided. So using this pragmas, new features comes more quickly
to the language. (I prefer marking "old" programs, but this would be
unfair, you don't want to hunt for bugs in a completely written program)

2. It doesn't break any working programs

3. Warning for changes is helpful

Anyway, say a better or quicker solution...

Gergo

+-[Kontra, Gergely @ Budapest University of Technology and Economics]-+
|         Email: kgergely / mcl.hu,  kgergely / turul.eet.bme.hu          |
|  URL:   turul.eet.bme.hu/~kgergely    Mobile: (+36 20) 356 9656     |
+-------"Olyan langesz vagyok, hogy poroltoval kellene jarnom!"-------+
.
Magyar php mirror es magyar php dokumentacio: http://hu.php.net