def apply(self, expr, rules, evaluation): 'Switch[expr_, rules___]' rules = rules.get_sequence() if len(rules) % 2 != 0: evaluation.message('Switch', 'argct', 'Switch', len(rules) + 1) return for pattern, value in zip(rules[::2], rules[1::2]): if match(expr, pattern, evaluation): return value.evaluate(evaluation)
def apply(self, expr, rules, evaluation): 'Switch[expr_, rules___]' rules = rules.get_sequence() if len(rules) % 2 != 0: evaluation.message('Switch', 'argct', 'Switch', len(rules) + 1) return for pattern, value in zip(rules[::2], rules[1::2]): if match(expr, pattern, evaluation): return value.evaluate(evaluation)