プロジェクトをいくつかのパッケージで構造化したいと思います。各パッケージはそれぞれの名前空間でなければなりませんが(ファイル名の衝突を避けるために)、パッケージ内ではすべて同じ名前空間にすべてのファイルを置く必要があります(同じフォルダ内にすべてのファイルを置く必要はありません。パッケージ内の参照関数matlab
は- するとmain.mで、私は、任意のサブに共通ライブラリのすべて、すべてを呼び出すことができます。私はこのような構造
Project main.m commonLibrary +part1Project mainPart1.m otherFolder supportFile.m +part2Project mainPart2.m otherFolder2 supportFile2.m
これをしたいと思います実際に
は、私が希望behaviousですサブフォルダ内の関数を含む-project。そこでpart1Project.supportFileを呼びたい - mainPart1.mでは、現在のパッケージの接頭辞を使わずにサポートファイルを呼び出す(つまり、私はsupportFileを直接呼び出したい)
- mainPart2でsupportFile2を直接呼びたいと思っています。プロジェクトのパート1のファイルにアクセスしたい場合は、part1Project.supportFileを呼び出すことができます。
現在の設定は、プロジェクトフォルダとすべてのサブフォルダをMATLABパスに追加したことです。しかし、これは、
- 私はどこからでもsupportFileを呼び出すことはできません。ないメイン(part1Project.supportFileが動作しません)ともないmainPart1(supportFileが見つからない)と同じ方法で、多くの
- が、
どうpart2Projectからpart1Projectの要素にアクセスすることは困難であるからから私が望む行動を達成することはできますか?
ありがとうございました!そのため、私はプライベートフォルダ(パッケージ外の関数を呼び出すことはできません)か、パッケージ内の同じフォルダにすべてを置き、mainPart1の先頭にインポートを使用します。インポートを使用しても構いませんが、機能のグループごとにサブフォルダを使用することで、パッケージをきちんと保つことができます。だからそれを行う方法はありませんか?あるいは、サブパッケージを作成して、part1Project.subpart1.supportfileを呼び出すことができますか? – Ant
@Antはい可能なルートです。サブパッケージは別のオプションです。言うまでもなく、MATLABのパッケージ機能は大幅なオーバーホールを使用する可能性があります。 'private'フォルダにはクラスを含めることはできません。 – Suever
確かにそれはそうです。どうもありがとう :) – Ant