New syntax for blocks
Carl Banks
pavlovevidence at gmail.com
Tue Nov 10 23:13:21 EST 2009
On Nov 10, 7:12 pm, Steven D'Aprano
<ste... at REMOVE.THIS.cybersource.com.au> wrote:
> On Tue, 10 Nov 2009 12:45:13 -0800, Bearophile wrote:
> > r:
>
> >> i think the following syntax would be quite beneficial to replace some
> >> redundant "if's" in python code.
>
> >http://python.org/dev/peps/pep-3003/
>
> I knew it wouldn't take long for people to start responding to any
> proposal with "don't bother, there's a moratorium".
>
> Of course in this case, the correct response would have been "don't
> bother, it's a stupid idea, moratorium or no moratorium".
r didn't actually give a good example. Here is case where it's
actually useful. (Pretend the regexps are too complicated to be
parsed with string method.)
if re.match(r'go\s+(north|south|east|west)',cmd) as m:
hero.move(m.group(1))
elif re.match(r'take\s+(\w+)',cmd) as m:
hero.pick_up(m.group(1))
elif re.match(r'drop\s+(\w+)',cmd) as m:
here.put_Down(m.group(1))
I wouldn't mind seeing this in Python for this exact use case,
although I'd rather the syntax to be more like the following so that
you can bind something other than the condition if need be.
if m with m as re.match(regexp,command):
Moot point for the next two years, and probably forever as I doubt it
would ever happen.
Carl Banks
More information about the Python-list
mailing list