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.
스크립팅Re: 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 코드 삽입을 방해하는 문제가 있는 것 같습니다.