¿Qué son los objetos de paquete, no tanto el concepto como su uso?
Intenté que funcionara un ejemplo y la única forma en que pude trabajar fue la siguiente:
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)
}
}
}
Las observaciones que he hecho hasta ahora son:
package object _root_ { ... }
no está permitido (lo cual es razonable),
package object x.y { ... }
tampoco está permitido.
Parece que un objeto de paquete debe declararse en el paquete padre inmediato y, si se escribe como se indicó anteriormente, se requiere el formulario de declaración de paquete delimitado por llaves.
¿Son de uso común? ¿Si es así, cómo?