Paul Moore wrote: > Hmm, it took me a while to get this, but what you're ssaying is that > if you modify Guido's "what I really want" solution to use > > VAR = next(it, exc) > > then this builtin next makes "API v2" stuff using __next__ work while > remaining backward compatible with old-style "API v1" stuff using > 0-arg next() (as long as old-style stuff isn't used in a context where > an exception gets passed back in). Yes, but it could also be used (almost) anywhere an explicit obj.next() is used. it = iter(seq) while True: print next(it) for loops would also change to use builtin next() rather than calling it.next() directly. > I'd suggest that the new builtin have a "magic" name (__next__ being > the obvious one :-)) to make it clear that it's an internal > implementation detail. There aren't many builtins that have magic names, and I don't think this should be one of them - it has obvious uses other than as an implementation detail. > PS The first person to replace builtin __next__ in order to implement > a "next hook" of some sort, gets shot :-) Damn! There goes the use case ;) Tim Delaney
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