标题可能听起来很奇怪.所以这是一个例子.
Say length是在MATLAB中广泛使用的关键字或内部函数,有人保存了一个名为的变量length.
我可以运行以下脚本而没有任何问题,但是如果我将它放在一个函数中它会产生错误(使用R2015b)
一个有效的脚本
clear length;
length = [1 2 4];
la = length;
clear length;
b = length(la);
Run Code Online (Sandbox Code Playgroud)
功能不起作用
function test(a)
length = [1 2 4];
save('data.mat','length');
clear length;
load('data.mat');
% load
la = length;
clear length;
b = length(la);
end
Run Code Online (Sandbox Code Playgroud)
错误:引用已清除的变量长度.
为什么会这样?MATLAB如何以不同方式处理这些情况?这应该发生在其他功能/关键字上吗?