У меня проблема с доступом к объекту, определенному в корневом пакете. Если у меня весь мой код в одном файле, он работает нормально, но когда я делю его на два файла, я не могу пройти мимо компилятора.
Это прекрасно работает:
Все в одном файле с именем packages.scala
:
object Foo
val name = "Brian"
}
package somepackage {
object Test extends App {
println(Foo.name)
}
}
Свидетель:
$ scalac packages.scala
$ scala -cp . somepackage.Test
Brian
Но если я разделю код на два файла:
packages.scala
object Foo {
val name = "Brian"
}
packages2.scala
package somepackage {
object Test extends App {
println(Foo.name)
}
}
все это терпит неудачу:
$ scalac packages.scala packages2.scala
packages2.scala:3: error: not found: value Foo
Поэтому я пытаюсь сделать ссылку на Foo
абсолют:
...
println(_root_.Foo.name)
...
Но это тоже не работает:
$ scalac packages.scala packages2.scala
packages2.scala:3: error: object Foo is not a member of package <root>
Если Foo
не является членом корневого пакета, где на земле это это?