需求:
要判断一个对象是否符合很多个条件,每个条件的判断结果有OK、REJECT、DUNNO三种
目前的写法是:
results = {judge.__name__: judge(x) for judge in plugins.plugins_list}
开发过程中,发现面对某些特殊的输入,其中一些判断条件会执行出错。
我在plugins_list开头安排了黑白名单机制,放在正经干活的判断函数之前,想要短路这
个执行过程。但是,因为既要判断OK又要判断REJECT,所以我只好先收集执行结果,再判
断是否有OK/REJECT,否则就需要执行两遍了,浪费
if OK in results
if REJECT in results
因为先收集结果,所以导致了并不能实现“短路掉后续几个判断函数”的期望
所以想请教一下,如果想要实现这个功能,且写法简洁,应该怎么办呢?
--
FROM 139.226.178.*