Switch statement

Nicholas Cole nicholas.cole at gmail.com
Sun Mar 10 22:50:19 CET 2013


On Sun, Mar 10, 2013 at 8:42 PM, Mitya Sirenef <msirenef at lightbird.net>wrote:

> On 03/10/2013 10:16 AM, Joseph L. Casale wrote:
>
>> I have a switch statement  composed using a dict:
>>
> >
> >
> > switch = {
> > 'a': func_a,
> > 'b': func_b,
> > 'c': func_c
> > }
> > switch.get(var, default)()
> >
> >
> > As a result of multiple functions per choice, it migrated to:
> >
> >
> >
> > switch = {
> > 'a': (func_a1, func_a2),
> > 'b': (func_b1, func_b2),
> > 'c': (func_c, )
> > }
> >
> >
> >
> > for f in switch.get(var, (default, )):
> > f()
> >
> >
> > As a result of only some of the functions now requiring unique
> arguments, I presume this
> > needs to be migrated to a if/else statement? Is there a way to maintain
> the switch style with
> > the ability in this scenario to cleanly pass args only to some functions?
>

Or could you do something like:

arguments_to_pass = [list of some sort]
switch.get(var, default)(*arguments_to_pass)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-list/attachments/20130310/a6f519fd/attachment.html>


More information about the Python-list mailing list