"WHEN ? THEN" 是什么意思?
What's the meaning of "WHEN ? THEN"?
在阅读一些源代码时,我偶然发现了以下正在进行的代码:
WHEN ? THEN
...
在其他语言中,我见过类似 IF TRUE THEN ...
(此代码始终为 运行)或 IF FALSE THEN ...
(此代码永远不会 运行 ]).
由于?
在Progress中表示“无”,这段代码是否与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
每个值都是一个表达式,计算结果为 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 是获取信息的好地方。
在阅读一些源代码时,我偶然发现了以下正在进行的代码:
WHEN ? THEN
...
在其他语言中,我见过类似 IF TRUE THEN ...
(此代码始终为 运行)或 IF FALSE THEN ...
(此代码永远不会 运行 ]).
由于?
在Progress中表示“无”,这段代码是否与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
每个值都是一个表达式,计算结果为 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 是获取信息的好地方。