在SAS中运行代码
data _null_;
if 1 or sum(.) then put 'Hi!';
run;
它报告生成了缺失值,表明“或”不是短路运算符。
SAS为什么不支持短路操作?
答案 0 :(得分:5)
最有力的理由是继续有意或无意地依赖它的所有旧SAS代码继续正常运行。
至于原始原因,那将是发起者的一个问题。 https://en.wikipedia.org/wiki/SAS_(software)#Origins
可能存在一些未记录的选项,这些选项会导致DATA Step编译器生成“优化”代码,其中可能包含快捷方式评估。