微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

“WHEN ? THEN”是什么意思?

如何解决“WHEN ? THEN”是什么意思?

在阅读一些源代码时,我偶然发现了以下正在进行代码

WHEN ? THEN
...

在其他语言中,我见过像 IF TRUE THEN ...(此代码始终要运行)或 IF FALSE THEN ...(此代码永远不会运行)之类的代码

由于 ? 在 Progress 中的意思是“nothing”,这段代码IF FALSE THEN ... 的意思一样吗?

解决方法

如果在 CASE 语句中使用了它,它会将 CASE 块中使用的值与未知值进行比较。这类似于类 C 语言中的 switch 语句。

CASE lOk:
    WHEN TRUE THEN ...
    WHEN FALSE THEN ...
    WHEN ? THEN ...
END CASE . 
,

在表达式中

WHEN value[ OR WHEN value] . . . THEN

每个值都是一个表达式,其计算结果为表达式的可能值。如果 value 与 expression 的当前值匹配,则执行关联的块或语句。现在的问题是,如何评估为未知或空值。这是用“?”完成的。特点。例如:

IF myVariable = ? THEN DISPLAY "This value is unknown".

如果您需要评估与实际问号字符的比较,您需要做的就是用单引号或双引号将问号括起来。

IF myVariable = '?' THEN DISPLAY "This is a question mark".
IF myVariable = "?" THEN DISPLAY "This is a question mark".

为了将来参考,Progress Knowledgebase 是获取信息的好地方。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。