O que são objetos de pacote, não tanto o conceito, mas seu uso?
Tentei fazer um exemplo funcionar e a única forma que consegui funcionar foi a seguinte:
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)
}
}
}
As observações que fiz até agora são:
package object _root_ { ... }
não é permitido (o que é razoável),
package object x.y { ... }
também não é permitido.
Parece que um objeto de pacote deve ser declarado no pacote pai imediato e, se escrito como acima, o formulário de declaração de pacote delimitado por chaves é necessário.
Eles são de uso comum? Se sim, como?