У меня проблема с доступом к объекту, определенному в корневом пакете. Если у меня есть весь мой код в одном файле, он отлично работает, но когда я разбиваю его на два файла, я не могу его пропустить мимо компилятора.
Это отлично работает:
Все в одном файле с именем 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
absolute:
...
println(_root_.Foo.name)
...
Но это тоже не работает:
$ scalac packages.scala packages2.scala
packages2.scala:3: error: object Foo is not a member of package <root>
Если Foo
не является членом корневого пакета, где это на самом деле?