Что такое объекты пакета, а не столько понятие, сколько их использование?
Я попытался получить пример работы, и единственная форма, которую я получил, была следующей:
package object investigations {
val PackageObjectVal = "A package object val"
}
package investigations {
object PackageObjectTest {
def main(args: Array[String]) {
println("Referencing a package object val: " + PackageObjectVal)
}
}
}
Наблюдения, которые я сделал до сих пор:
package object _root_ { ... }
запрещен (что разумно),
package object x.y { ... }
также запрещен.
Кажется, что объект пакета должен быть объявлен в непосредственном родительском пакете и, если он написан, как указано выше, требуется форма декларации пакета с разделителями.
Они широко используются? Если да, то как?