Scala 包含作用域名称的点的包保护访问修改器
在Scala中,有一种特殊类型的访问修饰符:protected[encloving_scope]。但当我尝试将它与包含点的包名(如受保护的[framework.ui])一起使用时,我得到了“']”预期但“'.”发现“编译器错误 这看起来真的很奇怪,因为在java/.net中,在包/名称空间名称中使用点是传统的做法。我是否遗漏了某些内容,或者无法将此访问修饰符与此类型的作用域名称一起使用 更新Scala 包含作用域名称的点的包保护访问修改器,scala,Scala,在Scala中,有一种特殊类型的访问修饰符:protected[encloving_scope]。但当我尝试将它与包含点的包名(如受保护的[framework.ui])一起使用时,我得到了“']”预期但“'.”发现“编译器错误 这看起来真的很奇怪,因为在java/.net中,在包/名称空间名称中使用点是传统的做法。我是否遗漏了某些内容,或者无法将此访问修饰符与此类型的作用域名称一起使用 更新 我接受了一个答案,因为它是相关的,尽管似乎不可能实现我想要的您只能将可见性限制在您所在的范围内,那么您需
我接受了一个答案,因为它是相关的,尽管似乎不可能实现我想要的您只能将可见性限制在您所在的范围内,那么您需要点做什么呢 如果你在
package foo.bar
你可以做某事
private[foo]
及
dots的用例是什么?可能有一个
包foo.bar.foo
。@Debilski那么这个包有什么问题?@om nom nom你无法区分*private[\u root\uo.foo]
和*private[\u root\uo.foo.bar.foo]
,除非允许这种语法。@Debilski-Ha,罕见的情况,但是是的,这似乎违反了Scala规范。您必须非常擅长制作边界条件测试用例
private[bar]