大家好,
我试图将一个函数传递给并行分配函数的本地内存空间
它不起作用,因为JMP告诉我F有2个参数,但给出了0个参数。我怎样才能解决这个问题?
JMP按值将参数传递给函数。如果我将参数指定为变量(例如,存储您定义的用户功能的变量),它将无法正常工作。例如,
Names Default to Here( 1 );
f1 = Function( { x }, 2*x );
f2 = Function( { f, x }, 2 * f( x ) );
f2( f1, 3 );
我犯了同样的错误。
我不知道您要做什么,但是如果您使用表达式而不是用户函数,它可能会起作用。
我正在回答的问题可能是或可能不是您要问的问题:我认为您已经写了以下内容:
f=function(...);
parallel assign({ g = f }, ... )它将尝试评估g = f的右侧并产生您提到的错误。
这样的事情会起作用:
parallel assign( { g = function(...) }, ... )看到 https://community.jmp.com/t5/Discussions/How-to-pass-a-function-to-Parallel-Assign/mp/230728