全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
2881 5
2012-11-11
Macro variable有的时候后面加点,是怎么回事?比如$var和$var.
加点的宏变量和不加点的有什么不一样?什么时候需要在后面加点?谢谢!

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2012-11-11 09:56:52
作为宏变量结束标志。

比如说, 你想输出var_1,这个可以由两部分组成,前面的var由宏解析出来。

%let a=var

%put &a._1;

你若是分不清时,可以统一加一个,不影响运行。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2012-11-11 10:53:21
先谢谢!
那是不是也可以不加点?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2012-11-11 11:27:20
visiting 发表于 2012-11-11 10:53
先谢谢!
那是不是也可以不加点?
不是
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2012-11-11 13:58:21
在混合使用宏变量引用和文本的时候,会遇到宏变量后面紧跟着文本的情况。

  如定义宏变量name后,当使用&name1,&name2时,如果不定义name1和name2这两个宏变量,系统就会提示这两个宏变量并不存在,因为在SAS识别宏变量的时候,自动将name1和name2当成了宏变量的名称。

  在宏的引用过程中,当词段扫描器识别一个宏变量名称时,从&开始直到遇到一个SAS名称中不允许出现的字符为止。所以空格等一些不允许出现在SAS名称中的字符就可以作为分隔符出现,但是为了不显示这些分隔符,一般使用句号来作为分隔符使用。


以上是别人总结的,楼主可以参考专门介绍宏的英文书籍。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2012-11-11 18:08:10
wangfengxi 发表于 2012-11-11 13:58
在混合使用宏变量引用和文本的时候,会遇到宏变量后面紧跟着文本的情况。

  如定义宏变量name后,当使用 ...
谢谢!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群