On Thu, 2007-04-05 at 12:51 -0700, [EMAIL PROTECTED] wrote:
> I would like to gauge interest in the following proposal:
> 
> Problem:
> 
> Assignment statements cannot be used as expressions.
>
> Performing a list of mutually exclusive checks that require data
> processing can cause excessive tabification.  For example, consider
> the following python snipet...
> 
> temp = my_re1.match(exp)
> if temp:
>   # do something with temp
> else:
>   temp = my_re2.match(exp)
>   if temp:
>     # do something with temp
>   else:
>     temp = my_re3.match(exp)
>     if temp:
>       # do something with temp
>     else:
>       temp = my_re4.match(exp)
> 
> # etc.
> 
> Even with 2-space tabification, after about 20 matches, the
> indentation will take up half an 80-column terminal screen.

If that's your only justification for this proposal, that's almost
certainly not enough to convince anybody of its necessity. Your code
example should be rewritten as a loop:

match_actions = [(my_re1, action1),
                 (my_re2, action2),
                 ...]

for my_re, action in match_actions:
  if my_re.match(exp):
     action(exp)
     break

Hope this helps,

Carsten


-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to