为了避免命名空间膨胀,我使用包.例如,让我们Foo
成为一个名为的函数FooPackage
function Foo()
disp('Foo');
end
Run Code Online (Sandbox Code Playgroud)
我想在另一个函数中使用这个函数Bar
.
function Bar()
InFunc1();
InFunc2();
InFunc3();
end
Run Code Online (Sandbox Code Playgroud)
这个函数调用子函数.朴素的方式是在每次调用中明确说出包名
function InFunc1()
FooPackage.Foo();
end
function InFunc2()
FooPackage.Foo();
end
function InFunc3()
FooPackage.Foo();
end
Run Code Online (Sandbox Code Playgroud)
或者,我可以在每个函数中使用导入:
function InFunc1()
import FooPackage.*
Foo();
end
function InFunc2()
import FooPackage.*
Foo();
end
function InFunc3()
import FooPackage.*
Foo();
end
Run Code Online (Sandbox Code Playgroud)
这两种方式都令人筋疲力尽.这里的答案说这是唯一的方法.有没有人有更好的建议?