【发布时间】:2015-11-20 01:22:53
【问题描述】:
将这个问题编辑得更清楚,请参阅下面的 cmets 进行解释。
所以这对我来说似乎有点明显,但它似乎不是那样工作的,但如果我有一个 scala 包对象并且它位于我的包的顶层。像com.company 这样说,就像下面这样简单
package com
package object company{
val something = "Hello world."
}
现在在我看来,这个变量会向下渗透并可以从它的子包中访问,但事实并非如此。
// 2 Layers down instead of the direct child
package com.company.app
import com.company._
object Model extends App {
println(something)
}
这似乎只适用于导入,这很好,但我希望使用包对象我可以为整个包定义顶级事物并让它向下传播,但不是这样吗?有没有办法让它工作?感谢您对此的任何见解。
【问题讨论】:
-
你使用的是什么 scala 版本?我能够在
2.11.7上编译com.company.Model而无需导入 -
这对我有用(没有
import),正如预期的那样...... -
好吧,我实际上是另一层,所以我的包对象位于
com.company,但我的实际代码位于com.company.model.ClassFile之类的位置,这不起作用。让我再试一次,确保我没有发疯。 -
是的,在 Eclipse 和 Scala 2.11.7 中,一级涓滴对我不起作用,我认为下面的答案可能是正确的。
标签: scala