給函數起別名有沒有辦法真正給函數起別名,而不僅僅是創建它的副本?
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);Re: 給函數起別名有趣的。
有關更多上下文。由於重構,我正在嘗試將新的自定義函數別名為另一個名稱。
試圖轉身
MyNCF:crappy_function_name
至
MyNCF:better_function_name
不破壞舊腳本。
我喜歡包裝的想法。
之前沒有使用過 As Constant。這太酷了。
我認為這對我來說已經足夠了。非常感激。
Re: 給函數起別名我很確定由功能(...) 如果同一個函數有第二個變量,函數就會被克隆。
根據您需要別名的原因,考慮
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有關的話,確實是因為內部原因需要clone,類似於asConstant的例子。