6

複数の関数で別のパッケージの他のクラスを使用するクラスがあります。これを行うには、現在、各関数でパッケージをインポートする必要があります。

classdef foo
    properties
        bar
    end
    methods
        function self = foo()
            foo.bar = 1;
        end

        function fun1(foo)
            import pkg.FooClass;
            val = pkg.FooClass(foo.bar);
        end
        function fun2(foo)
            import pkg.FooClass;
            val = FooClass.fun(foo.bar);
        end
    end
end

クラス全体のパッケージをインポートする方法はありますか? 私は他の言語に似たものを探しています:

classdef foo
    import pkg.FooClass;
    properties
        bar
    end
    methods
        function self = foo()
            foo.bar = 1;
        end

        function fun1(foo)
            val = pkg.FooClass(foo.bar);
        end
        function fun2(foo)
            val = FooClass.fun(foo.bar);
        end
    end
end
4

1 に答える 1

6

残念ながら、ドキュメントページには次のように書かれています:

インポート関数は、それが使用されている関数のインポート リストにのみ影響します。

そのため、どこでも完全修飾名を指定するか、各関数でインポートを行う必要があります。

于 2013-06-11T18:17:31.490 に答える