假设我正在编写一个简单的解析器。它有一个调度程序,根据输入表达式的类型调用相应的解析函数。
def dispatcher(expression):
m = pattern1.match(expression):
if m is not None:
handle_type1(expression, m)
# ... other types
我的问题是,有没有将匹配和检查结合起来None
?我的意思是,类似于以下 C 代码:
void dispatcher(char *expression)
{
if ((m = pattern1.match(expression)) != NULL) {
// ... handle expression type 1
}
else if ((m = pattern2.match(expression)) != NULL) {
// ... handle expression type 2
}
// ... other cases
}
谢谢!