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
来解决你的问题?考虑到你的答案是唯一的,我会接受它,不过,正如你自己所说,如果答案不完整,我也会接受。