À titre expérimental (et parce que je génère des fonctions anonymes à partir de données utilisateur), j'ai exécuté le code MATLAB suivant :
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
En gros, j'ai fait en sorte qu'une fonction anonyme s'appelle elle-même. Au lieu d'agir de manière récursive, MATLAB s'est souvenu de l'ancienne définition de fonction. Cependant, l'espace de travail ne l'affiche pas comme l'une des variables, et le handle ne semble pas le savoir non plus.
L'ancienne fonction sera-t-elle conservée en arrière-plan tant que je conserverai la nouvelle ? Existe-t-il des problèmes avec ce type de construction ?