希望渺茫,但将其付诸实践——寻找一种基于共同的相对包范围提供隐私的方法。
那么,例如,有没有一种方法可以对包 com.company1.foo
和 com.company2.foo
使用 private[foo]
code> 每个包都可以根据它们的“foo-ness”访问另一个 foo 包
不太可能,但会很好,在依赖的 sbt 项目中使用 private[model]
可以真正受益于这种相对隐私。
最佳答案
你不能这样做。来自语言规范 (2.9):
The modifier can be qualified with an identifier
C
(e.g.private[C]
) that must denote a class or package enclosing the definition
因此,您最好的希望是共享通用包。对于给定的两个示例,com.company1.foo
和 com.company2.foo
,限制最严格的共享根目录是 com
; private[com]
将是您能做的最好的。
关于scala - private[foo] 适用于任何基于 foo 的包?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12714386/