我知道我可以使用一个仅由静态方法组成的类来在MATLAB中实现名称空间。 E.g。
classdef MyNamespace
methods (Static = true)
function [...] = foo(...)
...
end
function [...] = bar(...)
...
end
...
end
end
通过上面我可以调用函数MyNamespace.foo
,MyNamespace.bar
等(当然,假设文件MyNamespace.m
在我的搜索路径中,或者在当前目录中)
这种技术的一个重要特征是它允许模拟“命名空间变量”。例如,methods (Static = true)
中的函数可以具有
function out = BAZ(newval)
persistent val;
out = val;
if nargin > 0, val = newval; end
end
有了这个,方法 MyNamespace.BAZ
可以模仿“命名空间变量”MyNamespace.BAZ
(但是,诚然,在非常繁琐的方式)。
此功能是我绝对需要的功能。
上面描述的命名空间的实现是可以的,但是我希望能够 import 命名空间,这样我就可以使用他们的“短”(又名“不合格”)名称来调用他们的函数,例如foo
,bar
等
在上述意义上,如何实现可以导入的命名空间?