12 lines
440 B
Python
12 lines
440 B
Python
|
|
dispatcher = dict()
|
||
|
|
dispatcher[0]=foo # Not foo(): we bind the dictionary entry to the function's object,
|
||
|
|
# NOT to the results returned by an invocation of the function
|
||
|
|
dispatcher[1]=bar
|
||
|
|
dispatcher[2]=baz # foo,bar, baz, and boz are defined functions.
|
||
|
|
|
||
|
|
# Then later
|
||
|
|
results = dispatcher.get(x, boz)() # binding results to a name is optional
|
||
|
|
# or with no "default" case:
|
||
|
|
if x in dispatcher:
|
||
|
|
results=dispatcher[x]()
|