为什么这不是SAS中的语法错误?

use*_*489 1 sas

我注意到可以像这样定义字符变量:

data _null_;
myvar = ('a'); /*What are these brackets doing?*/
put _all_;
run;
Run Code Online (Sandbox Code Playgroud)

令我惊讶的是,这不会产生任何错误.这种语法是出于任何特定目的,还是仅仅等同于

data _null_;
myvar = 'a';
put _all_;
run;
Run Code Online (Sandbox Code Playgroud)

在各方面?

Dir*_*ten 5

('a')是一个计算字符串的表达式,'a'就像(1 + 2)求值一样3.

myvar = ('a');相当于myvar = 'a';,就像 myvar = (1 + 2);相当于myvar = 3;.

  • 有时它用于使逻辑表达式更清晰,例如`varA =(myvar ='a');`而不是`varA = myvar ='a';`. (4认同)