大多数编程语言将任何非零数字和非空字符串识别为真。我想知道 COBOL 是否也这样做?
Example1: (9 && 2) 被识别 (true && true) 所以返回 true Example2: (""&& "Hello") 被识别(false && true)所以返回 false
谢谢!
最佳答案
Cobol 没有像其他语言那样有 boolean 值,它有 88 个级别。 88级可以应用于其他类型。它们涵盖 boolean 值和枚举 其他语言。
基本 boolean 88级
你可以做到
05 Filler pix x value 'N'.
88 end-of-file value 'Y'.
88 more-date-in-file value 'N'
perform until end-of-file
...
read Transaction-File
at end set end-of-file to True
end-perform
基础枚举88级
03 Transaction-Code pic s9(4) comp-3.
88 Purchase-Transaction value 1000, 1001, 1005 thru 1009.
88 Sales-Transaction value 2000, 2010, 2020.
88 Price-Adjustment value 2050.
88 Transfer-Transaction value 1050.
evaluate true
when Purchase-Transaction
...
when Sales-Transaction
...
总结
88 级提供基本的 boolean 变量(但没有 boolean 代数)。他们也 允许您记录一个变量可以取的可能值 + 那里的意义。
88 级 是 Cobol 的更好特性之一,尤其是与文件一起使用时。它允许您准确地定义文件中字段可以具有的值。 在 Java 等中,您可以定义常量,但不能将常量链接 到变量。您可以使用枚举,但这将需要额外的代码并且仅限于一个值。当然,文件并不像以前那么重要。
关于COBOL中数字和字符串的 boolean 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61918316/