[Python-Dev] Python FAQ: Why doesn't Python have a "with" statement?
Phillip J. Eby
pje at telecommunity.com
Sat Jun 14 16:43:46 CEST 2008
At 08:19 AM 6/14/2008 +0200, Cesare Di Mauro wrote:
>Assignament must work on the object's namespace, of course:
>
>def foo(a):
> on a:
> x += 1
> print x
> will be equivalent to:
>
>def foo(a):
> a.x += 1
> print a.x
Er, you need a syntactic disambiguation here to distinguish
attributes from locals or globals:
def foo(a):
on a:
.x += 1
print .x
Otherwise, this leads to all sorts of craziness. You'd also have to
restrict what could be referenced in a nested "on" block, in order to
avoid further ambiguities.
More information about the Python-Dev
mailing list