用户定义的函数返回多个输出你好,
希望打开一个请求,以允许用户定义的函数返回多个参数作为输出。如果我没看错,那么JSL中用户定义函数的当前定义如下所示:
FunctionName = function({args_list},{localvars_List},
// Logic
// Return
Return(OutputVar); // where OutputVar can be list or data table or matrix
); 我认为在调用函数时允许轻松地检索多个参数将非常有益。如果该功能已经存在,请提供一个例子。
脚本编写回复:用户定义函数返回多个输出 @uday_guntupalli 从JMP 14开始,您将能够使用Return()函数返回多个值(无需EvalList(List()))。 S1298458
我确定 @杰夫·珀金森很快就会来(编辑:他已经做过),并将其标记为已解决(因为只有管理员才能更改状态)。
回复:用户定义函数返回多个输出-状态更改为:已提供如上所述,JSL已经通过返回列表来支持这一点。
另一个选择是返回一个关联数组。这样,函数调用者不必记住结果的顺序。
mathOps = function({a,b},
{default local},
associative array({"sum", "difference", "product", "quotient"}, eval list({a+b, a-b, a*b, a/b}))
);
results = mathOps(10,5);
show(results["sum"]);回复:用户定义函数返回多个输出 @brady_brady ,
非常感谢这个例子。您是否足够友善地将该想法标记为“功能存在”,因为我没有看到这样做的选择
回复:用户定义函数返回多个输出您可以通过返回返回值列表来做到这一点。在大多数情况下,您将需要使用Eval List()在返回列表之前对其进行评估。
例如,下面显示的MathOps函数将两个数字作为输入,并返回它们的和,差,乘积和商。
干杯,
布雷迪
mathOps = function({a,b},
{default local},
evallist({a+b, a-b, a*b, a/b})
);
{s, d, p, q} = mathOps(10,5);