JSL 中的函数副本你好,
我的函数 F 是一个复杂的函数,在某些情况下,我需要重新定义它,同时保留其旧功能。 我想在更改之前保留 F 的副本。 到目前为止,我还没有找到在 JSL 中做到这一点的方法。 这是一个小例子,我正在尝试做的事情。 真正复制函数而不仅仅是链接它的正确方法是什么?
谢谢!
F = Function( {x,y}, x+y ); // actually much more complex
Show(F(1,2)); // 3
// G = F; // Error, JMP complains about missing parameters
G = Function( {x,y}, F(x,y));
Show(G(1,2)); // 3
F = Function( {x,y}, x*y ); // Changes G, too.
Show(F(1,2)); // 2
Show(G(1,2)); // 2, but I want it to remain 3.
脚本编写回复:JSL 中的函数副本您基本上可以使用名称 Expr()命令
F = Function( {x,y}, x+y ); // actually much more complex
Show(F(1,2)); // 3
G = Name Expr( F ); // use the magic NameExpr function to grab a pointer
Show(G(1,2)); // 3
F = Function( {x,y}, x*y ); // Changes G, too.
Show(F(1,2)); // 2
Show(G(1,2)); // 2, but I want it to remain 3.
/*:
F(1, 2) = 3;
G(1, 2) = 3;
F(1, 2) = 2;
G(1, 2) = 3;
*/
看起来此站点上存在阻止正确插入 JSL 代码的问题