Como experimento (y porque yo estoy generando funciones anónimas fuera de los datos del usuario) que corrían el siguiente código de MATLAB:funciones anónimas que se hacen llamar en 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
Básicamente, hice una función anónima llama a sí mismo. En lugar de actuar recursivamente, MATLAB recordó la antigua definición de función. Sin embargo, el espacio de trabajo no lo muestra como una de las variables, y el manejador tampoco parece saberlo.
¿La función anterior se almacenará entre bastidores siempre que conserve la nueva? ¿Hay algún "truco" con este tipo de construcción?
Yo diría que el diseño por sí solo es un "gotcha" y una mala idea, ya que es muy poco intuitivo y se esconde tanto de cualquier persona que mira el código. – tmpearce