gpt4 book ai didi

cobol - 在 Cobol 中,为了测试 "null or empty"我们使用 "NOT = SPACE [ AND/OR ] LOW-VALUE"?它是哪一个?

转载 作者:行者123 更新时间:2023-12-04 02:44:28 33 4
gpt4 key购买 nike

我现在在大型机工作,
在某些模块中,进行测试

Not null or Empty



我们看 :
NOT = SPACE OR LOW-VALUE主管说我们应该这样做: NOT = SPACE AND LOW-VALUE
哪一个 ?

谢谢!

最佳答案

院长说得对。

COBOL 应该能读懂自然语言之类的东西(事实证明这只是
另一个坏笑话)。

让我们使用以下变量和值:

 A = 1
B = 2
C = 3

一个表达式,例如:
IF A NOT EQUAL B THEN...

是相当直截了当的理解。一不等于二,所以我们会这样做 THEN 之后的任何内容.然而,
IF A NOT EQUAL B AND A NOT EQUAL C THEN...

很难遵循。再一次,一不等于二,一不等于
等于三,所以我们将执行“THEN”之后的任何操作。

COBOL 有一个简写结构,恕我直言,永远不应该使用它。它令人困惑
每个人(包括我不时)。简写表达式可让您将上述内容简化为:
IF A NOT EQUAL B AND C THEN...

或者如果你愿意
想申请 De Morgans rule:
IF NOT (A EQUAL B OR C) THEN...  

我对你的建议是避免 NOT在表达式中,从不使用 COBOL 速记表达式。

你真正想要的是:
 IF X = SPACE OR X = LOW-VALUE THEN...
CONTINUE
ELSE
do whatever...
END-IF

当 'X' 包含空格或低值(空值)时,上述内容不执行任何操作。它
与以下内容完全相同:
 IF NOT (X = SPACE OR X = LOW-VALUE) THEN
do whatever...
END-IF

可以转化为:
 IF X NOT = SPACE AND X NOT = LOW-VALUE THEN...

最后...
 IF X NOT = SPACE AND LOW-VALUE THEN...

我的建议是坚持简单易懂的长而直接的表达方式
在 COBOL 中,忘记短手废话。

关于cobol - 在 Cobol 中,为了测试 "null or empty"我们使用 "NOT = SPACE [ AND/OR ] LOW-VALUE"?它是哪一个?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4095131/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com