SAS:为什么宏中的IN运算符不是默认值?

Lor*_*sum 3 sas sas-macro

来自样本35591,

仅当在%MACRO语句中设置MINOPERATOR选项或作为SAS®系统选项时,IN运算符才能在%IF语句中使用.

需要一个单独的宏处理选项似乎是一个不必要的复杂问题.当然,由于宏处理的性质,宏IN语法及其可处理的内容必须与DATA步IN不同.但是实现强制程序员跟踪两个不同的IN,尽管它们在逻辑上是相同的.

  1. 它们在逻辑上是否相同?
  2. 要求宏IN的单独选项是为了提醒程序员与DATA步IN的区别吗?
  3. 或者,是否存在需要以这种方式实现宏IN的情况或向后兼容性问题?

MINOPERATOR的文件.

Dom*_*azz 7

Note说这只适用于SAS 9.2及更高版本.以前,没有用于MACRO处理的IN语句.宏是字符串,"IN"是有效字符串.该选项需要告诉宏处理器IN现在是一个关键字.如果它们只是使它成为一个关键词,那么可能包含"IN"的遗留代码就会破坏.

所以#3.