我不知道它是否可能:我想跨多个源文件跨越模块,这样我就不必将模块中的每个类都放到一个文件中。 所以我有两个名为“FileA.d”,“FileB.d”的文件,我希望它们都以模块名称开头: “模块模块”
问题是后来,当我想导入它时,我甚至都不知道如何。
执行“导入FileA”会产生错误:
"module amodule from file FileA.d must be imported as module 'amodule' "
我无法弄清楚这意味着什么,因为文档没有提及任何相关内容。 所以我的问题是 - 是否有可能,如果是的话 - 如何实现这一目标?
提前谢谢。
答案 0 :(得分:2)
更好的方法是创建一个模块amodule
并拥有public import FileA, FileB;
答案 1 :(得分:2)
出于好的理由,你想要的并不容易。模块级访问解决了C ++朋友的地狱。如果你来自C ++世界 - 认为模块中的所有类都是朋友。这是一个语言设计决定,一个非常好的,恕我直言。
阅读本节:http://dlang.org/cpptod.html#friends
简而言之:紧密耦合的类(C ++世界中的朋友)应该在同一个模块中。
D是一种模块化编程语言,请记住这一点,因为它使它与C ++或Java不同。