在 SAS/IML 中,我尝试将对宏中定义的变量的引用传递给用户定义的模块。模块更改变量值。由于函数的调用在 do-loop 我不能使用&-sign。但是,使用symget不起作用。这是我的代码。
proc iml;
start funcReference(argOut);
print "funcReference " argOut;
argOut = 5;
finish funcReference;
store module=funcReference;
quit;
proc IML;
mydata1 = {1 2 3};
call symput ('macVar', 'mydata1');
load module=funcReference;
run funcReference(symget('macVar'));
print mydata1;
quit;
输出显示变量mydata1没有改变:
argOut
funcReference mydata1
mydata1
1 2 3
有任何想法吗?
解决了
非常感谢!