RPGLE 有三元运算符吗?
Does RPGLE has a ternary operator?
我确实在论坛上找到了关于这个问题的旧帖子。但是随着年龄的增长,我想知道它是否改变了。
我知道,大概在 2004 年,RPG 还没有三元运算符。在 C# 和 Java 中工作了一点之后,我确实使用了它们并且我喜欢它们。我想知道 RPGLE 是否最终以某种方式包含了它们。
在 C# 中,三元运算如下所示:
myvar = var1 > var2 ? var1 : var2;
因此,如果 var1 大于 var2,则 myvar 将获得 var1。这是一个基本示例。
所以...你们知道 RPGLE 中是否有三元运算符吗?如果有,它的语法是什么?
不,RPGLE 没有三元运算符。
http://www-01.ibm.com/support/knowledgecenter/ssw_ibm_i_72/rzasd/expropt.htm
否,但您可以使用类似方法将指标(布尔值)设置为真或假。我一直这样做。如果下面的 numberOne 变量定义为初始值为 1 的整数和 numberTwo 初始值为 2.
*in99 = numberOne < numberTwo
99 = true 因为上面的语句测试为 true,否则 99 将等于 false。此语法替换以下
if numberOne < numberTwo
*in99 = *on
else
*in99 = *off
endif
运行 这个函数模拟了 RPGLE 中的三元组。还列出了一些 CLLE 选项。
https://www.itjungle.com/2005/11/09/fhg110905-story01/
D iif pr 256a varying
D Condition n value
D TrueValue 256a varying value
D FalseValue 256a varying value
---------------------------------------------------
P iif b
D pi 256a varying
D Condition n value
D TrueValue 256a varying value
D FalseValue 256a varying value
/free
if Condition;
return TrueValue;
else;
return FalseValue;
endif;
/end-free
P e
我确实在论坛上找到了关于这个问题的旧帖子。但是随着年龄的增长,我想知道它是否改变了。
我知道,大概在 2004 年,RPG 还没有三元运算符。在 C# 和 Java 中工作了一点之后,我确实使用了它们并且我喜欢它们。我想知道 RPGLE 是否最终以某种方式包含了它们。
在 C# 中,三元运算如下所示:
myvar = var1 > var2 ? var1 : var2;
因此,如果 var1 大于 var2,则 myvar 将获得 var1。这是一个基本示例。
所以...你们知道 RPGLE 中是否有三元运算符吗?如果有,它的语法是什么?
不,RPGLE 没有三元运算符。
http://www-01.ibm.com/support/knowledgecenter/ssw_ibm_i_72/rzasd/expropt.htm
否,但您可以使用类似方法将指标(布尔值)设置为真或假。我一直这样做。如果下面的 numberOne 变量定义为初始值为 1 的整数和 numberTwo 初始值为 2.
*in99 = numberOne < numberTwo
99 = true 因为上面的语句测试为 true,否则 99 将等于 false。此语法替换以下
if numberOne < numberTwo
*in99 = *on
else
*in99 = *off
endif
运行 这个函数模拟了 RPGLE 中的三元组。还列出了一些 CLLE 选项。
https://www.itjungle.com/2005/11/09/fhg110905-story01/
D iif pr 256a varying
D Condition n value
D TrueValue 256a varying value
D FalseValue 256a varying value
---------------------------------------------------
P iif b
D pi 256a varying
D Condition n value
D TrueValue 256a varying value
D FalseValue 256a varying value
/free
if Condition;
return TrueValue;
else;
return FalseValue;
endif;
/end-free
P e