関数のエイリアス関数のエイリアスを作成するだけでなく、そのコピーを作成する方法はありますか?
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:関数のエイリアスによって生成された内部コードはかなり確信しています関数 (...)同じ関数に2番目の変数がある場合、関数は複製されます。
エイリアスが必要な理由に応じて、
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の例と同様に、内部的な理由からクローンが本当に必要です。
Re:関数のエイリアス面白い。
詳細については。 リファクタリングのため、新しいカスタム関数を別の名前にエイリアスしようとしています。
回ろうとする
MyNCF:crappy_function_name
に
MyNCF:better_function_name
古いスクリプトを壊すことなく。
ラッピングのアイデアが好きです。
これまでAs As Constantを使用したことがありません。 すごいですね。
私はこれで遊ぶのに十分すぎると思います。 とても有難い。