我在IML中有以下模块,例如:
start multiply (x,y);
product = x*y;
return product;
finish multiply;
我打电话给:
RUN multiply(2,100); /* outputs 200 */
我想知道的是非常简单,如何将其指定为新变量?在PHP中,我可以这样做:
function multiply($x,$y){
$product = $x*$y;
return $product;
}
然后做:
$newvar = multiply(2,100);
我在SAS中需要这个功能。有可能吗?
答案 0 :(得分:0)
我意识到,由于SAS通过引用传递,我们可以将输出变量作为模块的输入参数传递。所以我们可以写:
start multiply (x,y,z);
product = x*y;
z = product;
finish multiply;
我打电话给:
run multiply(2,100,z);
print z;
通过引用传递,有效但风险很高......
答案 1 :(得分:0)
原始问题的答案是将返回值分配给矩阵: 而不是
RUN multiply(2,100); /* WRONG */
你想要
product = multiply(2,100);