作为一个实验(并且因为我正在从用户数据中生成匿名函数),我运行了以下 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 没有递归地执行操作,而是记住了旧的函数定义。但是,工作区并未将其显示为变量之一,并且句柄似乎也不知道它。
只要我保留新功能,旧功能是否会在后台存储?这种结构有什么“陷阱”吗?