Что такое объекты пакета, не столько концепция, сколько их использование?
Я попытался заставить пример работать, и единственная форма, которую я получил, была следующая:
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 { ... }
также запрещено.
Кажется, что объект пакета должен быть объявлен в непосредственном родительском пакете, и, если он написан, как указано выше, требуется форма объявления пакета, разделенная фигурными скобками.
Они широко используются? Если да, то как?