我想知道我是否可以这样使用OR运算符:
li{
border-top: solid 1px rgba(0, 0, 0, 0.125);
margin: 0.5em 0 0 0;
padding: 0.5em 0 0 0;
position: relative;
}
.nav-btn{
text-indent:1.5em;
}
.nav-btn:before {
font-family:'FontAwesome';
position:absolute;
top:50%;
-ms-transform:translateY(-50%);
-o-transform:translateY(-50%);
-moz-transform:translateY(-50%);
-webkit-transform:translateY(-50%);
transform:translateY(-50%);
left:-2em;
background-size: auto 1.5em;
background-repeat: no-repeat;
background-position: 1.5em center;
width: 3.5em;
height: 1.5em;
content:' ';
}
.nav-team:before{ background-image:url(attr(src)); }
.nav-home:before{ background-image:url(../icons/feed.svg); }
.nav-envelope:before{ background-image:url(../icons/messages.png); }
我认为它可以使用IF,但我需要使用此声明。我试图将括号放在不同的位置,但它没有用。
我也试过使用不同的句子,如下所示,我得到了一个无效的表达错误:
EVALUATE TRUE
WHEN (COD-USER NOT EQUAL TO 01) OR (COD-USER NOT EQUAL TO 02)
ADD 1 TO CTN-ERROR
WHEN
...
END-EVALUATE
答案 0 :(得分:1)
你问题的答案......
我想知道我是否可以这样使用OR运算符:
...是"是的。"然而...
这是你想要的吗?
[...]
05 WS-COD-USER PIC 99 VALUE ZEROES.
88 DONT-ADD-1-TO-CTN-ERROR VALUES 1, 2.
[...]
MOVE COD-USER TO WS-COD-USER
EVALUATE TRUE
WHEN DONT-ADD-1-TO-CTN-ERROR
CONTINUE
WHEN OTHER
ADD 1 TO CTN-ERROR
END-EVALUATE
如果CTN-ERROR
为1,则不会向COD-USER
添加1。如果CTN-ERROR
为2,则不会向COD-USER
添加1。如果COD-USER
为任何其他值1都将添加到CTN-ERROR
。
我假设COD-USER
位于FD
或字帖中。否则,您只需添加88
- 级别即可。
答案 1 :(得分:1)
在您的示例中,您将始终$category = 'apple, banana'
当ADD 1 TO CTN-ERROR
为01且WHEN
为02时,不确定您希望其他COD-USER
成为什么或想要发生什么,但如果您是只有当COD-USER
为01或02时才想要你的代码,那么你可以尝试类似的东西:
COD-USER
OR
EVALUATE COD-USER
WHEN 01
DO-SOMETHING
WHEN 02
DO-SOMETHING-ELSE
WHEN OTHER
ADD 1 TO CTN-ERROR
END-EVALUATE
当您在01或02上匹配时,这将执行您需要的任何操作,而其他任何内容都会为您的计数增加1。
答案 2 :(得分:0)
是的,您可以使用OR,但您编写代码的方式将始终如上所述,已经在上述答案中说明了。何时可以写两次,如下图所示
EVALUATE TRUE
WHEN COD-USER = 01
WHEN COD-USER = 02
CONTINUE
WHEN OTHER
ADD 1 TO CTN-ERROR
END-EVALUATE
在上面的示例中,当COD-USER = 01或COD-USER = 02时,它将继续,对于所有其他条件,它将向CTN-ERROR添加1