On Feb 23, 3:44 pm, Jeff Schwab <[EMAIL PROTECTED]> wrote: > > actions = ( > ('some_string', do_something), > ('other_string', do_other_thing)) > > def find_action(pattern): > for string, action in actions: > m = pattern.match(string) > if m: > return action > return do_default_thing > > find_action(re.compile('some pattern'))()
You don't need to pass the pattern, just pass the match function: def find_action(match, actions=actions, default_action=None): for string, action in actions: if match(string): return action return default_action find_action(re.compile('some pattern').match)() -- Arnaud -- http://mail.python.org/mailman/listinfo/python-list