パス上のmyClass.m
パッケージ フォルダーにクラス ファイルがあります。+myPack
クラスファイルの簡単な例は次のとおりです。
classdef myClass
properties
prop
end
methods
function obj = myClass(x)
obj.prop = x;
end
end
end
メソッドを直接呼び出して、完全なパッケージ名を使用してプロパティにアクセスすると、次のようになります。
x = myPack.myClass(2).prop;
x = 2
正しく戻ります。ここで、このクラスをインポートして同じことを試みると (パッケージ名は使用しません):
import myPack.myClass
y = myClass(2).prop
次のエラーが表示されます。
静的メソッドまたはコンストラクターの呼び出しは、インデックスを作成できません。静的メソッドまたはコンストラクターの呼び出しの後に、追加のインデックスまたはドット参照を付けないでください。
これが最初のケースで機能し、2 番目のケースで機能しないのはなぜですか? 私が理解している限りimport
、クラスを ing すると、主に長いパッケージ名なしでクラス名を使用できるようになりました (他の考慮事項の中でも特に)。このエラーの原因となるこれら 2 つの違いは何ですか?また、どうすれば回避できますか?