Matlab 我可以全局导入名称空间而不在每个函数中显式调用import吗?
为了避免名称空间膨胀,我使用了包。例如,让Matlab 我可以全局导入名称空间而不在每个函数中显式调用import吗?,matlab,namespaces,Matlab,Namespaces,为了避免名称空间膨胀,我使用了包。例如,让Foo成为名为FooPackage function Foo() disp('Foo'); end 我想在另一个名为Bar的函数中使用此函数 function Bar() InFunc1(); InFunc2(); InFunc3(); end 此函数调用子函数。最简单的方法是在每次调用中显式地说出包名 function InFunc1() FooPackage.Foo(); end function InF
Foo
成为名为FooPackage
function Foo()
disp('Foo');
end
我想在另一个名为Bar
的函数中使用此函数
function Bar()
InFunc1();
InFunc2();
InFunc3();
end
此函数调用子函数。最简单的方法是在每次调用中显式地说出包名
function InFunc1()
FooPackage.Foo();
end
function InFunc2()
FooPackage.Foo();
end
function InFunc3()
FooPackage.Foo();
end
或者,我可以在每个函数中使用导入:
function InFunc1()
import FooPackage.*
Foo();
end
function InFunc2()
import FooPackage.*
Foo();
end
function InFunc3()
import FooPackage.*
Foo();
end
这两种方法都让人筋疲力尽。中的答案是,这些是唯一的方法。
有人有更好的建议吗?也许你可以用一个
私有的
目录。private
目录中的函数只能由其父目录中的函数看到,并且只能通过它们的名称调用它们
这不是一个完全令人满意的解决方案,但这会有所帮助。也许你可以使用目录
private
来解决你的问题?考虑到你的答案是唯一的,我会接受它,不过,正如你自己所说,如果答案不完整,我也会接受。