楼主: wlfjhh
271 3

[问答] 为什么这么写会报错,应该怎么写 [推广有奖]

  • 0关注
  • 0粉丝

硕士生

69%

还不是VIP/贵宾

-

威望
0
论坛币
9 个
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
971 点
帖子
59
精华
0
在线时间
275 小时
注册时间
2010-6-12
最后登录
2018-8-12

wlfjhh 发表于 2018-6-14 14:51:37 |显示全部楼层

%let i=1;

%let p_0=2;

%put &p_%eval(&i-1);


为什么会报错,应该怎么写

关键词:eval let put EVA

stata SPSS
wwang111 发表于 2018-6-14 15:42:02 |显示全部楼层
%put &p_0%eval(&i-1);
回复

使用道具 举报

wlfjhh 发表于 2018-6-14 15:45:21 |显示全部楼层
wwang111 发表于 2018-6-14 15:42
%put &p_0%eval(&i-1);
为什么要加个0
回复

使用道具 举报

wwang111 发表于 2018-6-14 21:21:19 |显示全部楼层
wlfjhh 发表于 2018-6-14 15:45
为什么要加个0
如果想让结果是2,可以这样写:
%let i=1;
%let p_0=2;
%let j=%eval(&i-1);
%put &&p_&j;

像你那样写,解析的时候是解析宏变量 "p_" 和 %eval(&i-1), 但是p_是没有事先定义的。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 我要注册

GMT+8, 2018-8-19 12:06