ABAP是否定义了求值顺序?表达式中方法调用执行顺序问询
ABAP表达式的求值顺序定义
ABAP有明确的表达式求值规则——所有表达式里的操作数(包括方法、函数调用)都是严格按从左到右的顺序依次求值。
拿你举的例子来说,表达式 foo( ) + bar( ) 中,肯定是先执行 foo() 拿到返回值,之后才会执行 bar() 获取它的返回值,最后再做加法运算。
需要注意的是,这种左到右的求值顺序是ABAP语言规范明确规定的,不会因为运算符优先级或者其他因素改变操作数的执行顺序。哪怕是复杂的多运算符表达式,每个操作数的执行顺序依然遵循左到右的规则,运算符优先级只是决定运算的组合方式,不影响操作数的求值先后。
内容的提问来源于stack exchange,提问作者Ulrich Scholz
相关产品推荐
相关产品推荐

