At 05:25 PM 10/26/03 +0100, Just van Rossum wrote: >Phillip J. Eby wrote: > > > If we have a rebinding operator, I'd rather it be something > > considerably more visible than the presence or absence of a ':' on an > > assignment statement. > >I don't know, but somehow I don't have a problem spotting augmented >assignments, so I don't think := will be as hard to miss as you suggest. > > > So far, all the examples have been downright scary in the > > invisibility of what's happening. Mostly, I can imagine some poor > > sap trying to debug a program that uses := and is missing one > > somewhere or has one where it's not intended -- and hoping that poor > > sap won't be me. :) > >How is that different from a '-=' that should have been a plain '='? >Also, if := is disallowed to rebind in the _same_ scope, this problem >would be spotted by the compiler. But some languages use := to mean simple assignment. So, '=' and ':=' don't appear *semantically* distinct. Whereas, I'm not aware of a language that uses '-=' differently. > > I've mostly stayed out of this discussion, but so far something like > > the scope(function).variable proposals, with perhaps a special case > > for scope(global) or scope(globals) seems to me like the way to go. > > It seems very Pythonic, in that it is explicit and calls attention to > > the fact that something special is going on, in a way that ':=' does > > not. > >The reverse argument can be made, too: := calls attention to the fact >that something is happening right there, whereas a declaration may be >many lines away. I guess I wasn't clear. I meant, using 'scope(function).variable = whatever' *every* time you assign to the outer scope variable, and not having any "declarations", ever.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4