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 代碼的問題