함수 앨리어싱함수의 복사본을 만드는 것이 아니라 함수의 별칭을 지정하는 방법이 있습니까?
Names default to here(1);
f = function({x, y},
print(x);
);
// I'm assuming this just copies it.
alias_f = nameexpr(f);
alias_f(14, 28);다시 : 함수 앨리어싱나는 내부 코드가 함수 동일한 함수에 대한 두 번째 변수가 있으면 (...) 함수가 복제됩니다.
별명이 필요한 이유에 따라 다음을 고려하십시오.
a = b = Function( {c}, Show( c ) );다음은 모퉁이를 들여다보고 복제품이 있는지 확인하는 방법입니다.
a = b = Function( {c}, Show(asconstant (c) ) );
a(42);//42
b(43);//43
a(44);//42
b(45);//43무엇을 이루려고 노력하고 있습니까? 네임 스페이스는 내용을 복제하지 않고 전달할 수 있습니다 (내용은 함수 정의 일 수 있습니다). 함수가 거대하고 복제하는 데 상당한 시간이 걸리는 경우 별칭 이름의 작은 래퍼가 적합 할 수 있습니다. ParallelAssign과 관련이있는 경우 asConstant 예제와 유사한 내부 이유로 인해 실제로 복제본이 필요합니다.
다시 : 함수 앨리어싱흥미 롭군
더 많은 맥락. 리 팩터로 인해 새로운 사용자 정의 함수를 다른 이름으로 별칭을 지정하려고합니다.
돌리려고
MyNCF : crappy_function_name
에
MyNCF : 더 나은 _ 기능 _ 이름
오래된 스크립트를 깨지 않고.
나는 포장 아이디어를 좋아한다.
이전에 As Constant를 사용하지 않았습니다. 정말 멋지다.
나는 이것이 내가 놀기에 충분하다고 생각합니다. 매우 감사.