我得到了这两个排序卡片不同的输出,有人能告诉我为什么吗?
1.
INCLUDE COND=((1,3,CH,NE,C'ABC',AND,5,3,CH,NE,C'PQR'),OR,
(1,3,CH,NE,C'CAB'),OR,
(1,3,CH,NE,C'CBA'),OR,
(1,3,CH,NE,C'ABC',AND,5,3,CH,NE,C'PQR'))
SORT FIELDS=COPY2.
OMIT COND=((1,3,CH,EQ,C'ABC',AND,5,3,CH,EQ,C'PQR'),OR,
(1,3,CH,EQ,C'CAB'),OR,
(1,3,CH,EQ,C'CBA'),OR,
(1,3,CH,EQ,C'ABC',AND,5,3,CH,EQ,C'PQR'))
SORT FIELDS=COPY这基本上就是,当不相等时包含,当相等时省略。
发布于 2014-07-25 19:55:45
问题是你没有颠倒和以及或的顺序,这意味着它们是非常不同的排序测试,所以会给出不同的答案
如果你看一下第一个测试,特别是:
(1,3,CH,NE,C'CAB'),OR,
(1,3,CH,NE,C'CBA')总是 true吗,
当chars 1,3 is CAB or CBA时,以下代码为false
(1,3,CH,EQ,C'CAB'),OR,
(1,3,CH,EQ,C'CBA')使用布尔逻辑,规则是
not (a and b) = (not A) or (not b)
not (a or b) = (not A) and (not b)因此,当从忽略更改为包含时,您必须反转和&或e228的
OMIT COND=((1,3,CH,EQ,C'ABC',AND,5,3,CH,EQ,C'PQR'),OR,
(1,3,CH,EQ,C'CAB'),OR,
(1,3,CH,EQ,C'CBA'),OR,
(1,3,CH,EQ,C'ABC',AND,5,3,CH,EQ,C'PQR'))
SORT FIELDS=COPY变成:
INCLUDE COND=((1,3,CH,NE,C'ABC',or,5,3,CH,NE,C'PQR'),and,
(1,3,CH,NE,C'CAB'),and,
(1,3,CH,NE,C'CBA'),and,
(1,3,CH,NE,C'ABC',or,5,3,CH,NE,C'PQR'))
SORT FIELDS=COPYhttps://stackoverflow.com/questions/24954555
复制相似问题