例如,摘自Matlab
a = 1.3;
b = .2;
c = 30;
parabola = @(x) a*x.^2 + b*x + c;即使从工作区中删除了parabola、b、c,也可以调用它。其解释是:
因为在创建抛物线时,a、b和c是可用的,所以函数句柄包含这些值。即使您清除了变量,这些值仍然存在于函数句柄中:
在创建了像parabola这样的匿名函数之后,以后如何检索或查看存储在其中的变量?
发布于 2016-05-02 02:36:18
您可以使用functions函数获取有关匿名函数的信息,包括定义这些变量的内部工作区。
a = 1.3;
b = .2;
c = 30;
parabola = @(x) a*x.^2 + b*x + c;
clear a b c
F = functions(parabola);
variables = F.workspace{1};
%// variables =
%//
%// a: 1.3
%// b: 0.2
%// c: 30工作区包含一个包含在函数句柄工作区中的每个变量的字段的struct。
https://stackoverflow.com/questions/36974233
复制相似问题