【发布时间】:2017-04-04 14:44:02
【问题描述】:
我想用几个包来构建我的项目。每个包应该是每个自己的命名空间(以避免文件名冲突),但在一个包中,我希望所有内容都在同一个命名空间中(不必将所有文件放在同一个文件夹中;我想要不同的文件夹)。
实际上我想要这种结构
Project
main.m
commonLibrary
+part1Project
mainPart1.m
otherFolder
supportFile.m
+part2Project
mainPart2.m
otherFolder2
supportFile2.m
这是我想要的行为:
- 在 main.m 中,我可以调用公共库中的所有内容以及任何子项目中的所有内容,包括子文件夹中的函数。所以我想调用 part1Project.supportFile
- 在 mainPart1.m 中,我想调用支持文件而不使用当前包的前缀(即我想直接调用 supportFile)
- 在 mainPart2 中,我想直接调用 supportFile2。如果我想访问项目第 1 部分中的文件,我可以调用 part1Project.supportFile。
当前设置是我将 Project 文件夹和所有子文件夹添加到 matlab 路径。但这意味着
- 我无法从任何地方调用 supportFile;不是来自 main(part1Project.supportFile 不起作用),甚至不是来自 mainPart1(找不到 supportFile)
- 同样,很难从 part2Project 访问 part1Project 的元素
我怎样才能实现我想要的行为?
【问题讨论】:
标签: matlab namespaces editor projects-and-solutions