Delaney, Timothy C (Timothy) wrote: > Nick Coghlan wrote: > I think if we are going to emphasise the difference, a decorator does > not go far enough. To use a decorator, this *must* be valid syntax:: > > def gen(): > try: > yield > finally: > print 'Done!' > > However, that generator cannot be properly used in a for-loop. So it's > only realistically valid with the decorator, and used in a block > statement (resource suite ;) > > My feeling is that the above should be a SyntaxError, as it currently > is, and that a new keyword is needed which explicitly allows the above, > and creates an object conforming to the resource protocal (as I called > it). I think adding __exit__ and __del__ methods to generators will suffice - for a normal generator, it *will* get cleaned up eventually. Cheers, Nick. -- Nick Coghlan | ncoghlan at gmail.com | Brisbane, Australia --------------------------------------------------------------- http://boredomandlaziness.skystorm.net
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