yxxiaobin 发表于 2014-9-28 12:13:19

这个组合验证器里的“否定”字段真坑爹

最直观的理解就是对组合结果进行“非”计算,但是做出来果断不对。我那个遇到问题的验证器很复杂,由N多层套嵌计算得到,结果排查半个多小时,才想到是不是“否定”的意思理解错误。经过测试,原来这个“否定”是对个组合项目先进行“非”计算,然后在执行“和/或”计算,坑爹呀.....

nutari 发表于 2014-9-28 21:56:34

本来not的优先级就高于or和and吧,逻辑运算里……

娜渃卟Ran 发表于 2014-9-29 13:01:34

逻辑或者离散数学里面都有讲这个的优先级吧。。。。

thewisp 发表于 2014-9-30 07:40:47

为了把程序和数据的工作分开,真是设计了一套够复杂的系统呢。。

yxxiaobin 发表于 2014-10-1 18:43:33

本帖最后由 yxxiaobin 于 2014-10-1 18:46 编辑

nutari 发表于 2014-9-28 21:56
本来not的优先级就高于or和and吧,逻辑运算里……

我到记得是哪个在前哪个优先来着,不过这不是问题的关键,关键是组合验证器的and条目是写在一起的,而not则写在外面,给人的错觉就是and运算是加了括号的。也就是说,如果直接看过去,应当是这种格式:Not(A And B And C),但实际情况人家Not是会分身术的,其结果就是:(Not A) And (Not B) And (Not C)

沉默的温柔 发表于 2020-1-19 11:48:33

对,太坑了,都这么多年过去了,我还差点栽倒在里面
页: [1]
查看完整版本: 这个组合验证器里的“否定”字段真坑爹