[Python-ideas] Ruby-style Blocks in Python Idea
tav
tav at espians.com
Mon Mar 9 14:04:23 CET 2009
Hey all,
I've come up with a way to do Ruby-style blocks in what I feel to be a
Pythonic way:
using employees.select do (employee):
if employee.salary > developer.salary:
fireEmployee(employee)
else:
extendContract(employee)
I originally overloaded the ``with`` keyword, but on Guido's guidance
and responses from many others, switched to the ``using`` keyword.
I explain the idea in detail in this blog article:
http://tav.espians.com/ruby-style-blocks-in-python.html
It covers everything from why these are useful to a proposal of how
the new ``do`` statement and __do__ function could work.
Please note that the intention of this proposal is not to encourage
iteration with blocks -- Python already does this rather elegantly --
but blocks are very useful for more than just iteration as various
Ruby applications have shown.
Let me know what you think.
My apologies if I've missed something obvious. Thanks!
--
love, tav
plex:espians/tav | tav at espians.com | +44 (0) 7809 569 369
http://tav.espians.com | http://twitter.com/tav | skype:tavespian
More information about the Python-ideas
mailing list