On 23 November 2017 at 05:44, Greg Ewing <greg.ewing at canterbury.ac.nz> wrote: > Ivan Levkivskyi wrote: > >> The key idea is that neither comprehensions nor generator expressions >> should create a function scope surrounding the `expr` >> > > I don't see how you can avoid an implicit function scope in > the case of a generator expression, though. And I can't see > how to make yield in a generator expression do anything > sensible. > > Consider this: > > def g(): > return ((yield i) for i in range(10)) > > Presumably the yield should turn g into a generator, but... > then what? My brain is hurting trying to figure out what > it should do. > > I think this code should be just equivalent to this code def g(): temp = [(yield i) for i in range(10)] return (v for v in temp) Semantics of the comprehension should be clear here (just an equivalent for-loop without name leaking) -- Ivan -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://mail.python.org/pipermail/python-dev/attachments/20171123/4d18408b/attachment.html>
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