MATLAB はその検索パスで m-ファイルを検索しますpath
。コマンドを使用して表示できます。MATLAB パス上に同じベース名 (つまり、ディレクトリを除く拡張子の前のファイル名の部分) を持つ複数の m-ファイルがある場合、MATLAB はパス上で最初に来るファイルのみを実行できます。
addpath
および関数を使用してrmpath
、パスを動的に変更できます。たとえば、テスト実行スクリプトに関連するディレクトリを自動的に追加できます。パスリストの先頭に新しいパスを追加することに注意してくださいaddpath
。これにより、既存のエントリよりも優先されます。
このような名前の競合を防ぐもう 1 つの方法は、パッケージです。
編集: ディレクトリをパッケージに変換するには、次の手順を実行します。
+
その名前の先頭にa を追加します。
- ディレクトリの親を MATLAB パスに置いていることを確認してください。
- パッケージ内の関数へのすべての呼び出しを、関数の前に追加するか
packagename.
、呼び出しの前にパッケージの内容を含めることによって更新します ( import packagename.*
)。
一般的に、動的パスの変更よりもパッケージの方が使いやすいので、パッケージの方が好きです。パッケージをネストできることに注意してください (つまりmy_matlab_files/+mypkg/+nested/foo.m
)。