実験として (ユーザー データから無名関数を生成しているため)、次の MATLAB コードを実行しました。
h = @(x) x * x
h = @(x) x * x
h(3)
ans = 9
h = @(x) h(x) + 1
h = @(x)h(x)+1
h(3)
ans = 10
基本的に、無名関数呼び出し自体を作成しました。再帰的に動作する代わりに、MATLAB は古い関数定義を記憶しました。ただし、ワークスペースはそれを変数の 1 つとして表示せず、ハンドルもそれを認識していないようです。
新しい関数を保持している限り、古い関数はバックグラウンドで保存されますか? この種の構造に「落とし穴」はありますか?