Czym są obiekty pakietu, nie tyle koncepcja, ile ich użycie?
Próbowałem uzyskać działający przykład i jedyna forma, jaką otrzymałem, była następująca:
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)
}
}
}
Obserwacje, które poczyniłem do tej pory to:
package object _root_ { ... }
jest niedozwolone (co jest rozsądne),
package object x.y { ... }
jest również niedozwolone.
Wydaje się, że obiekt pakietu musi być zadeklarowany w bezpośrednim pakiecie nadrzędnym, a jeśli jest napisany jak wyżej, wymagany jest formularz deklaracji pakietu rozdzielanego nawiasami klamrowymi.
Czy są w powszechnym użyciu? Jeśli tak to jak?