Cosa sono gli oggetti pacchetto, non tanto il concetto ma il loro utilizzo?
Ho provato a far funzionare un esempio e l'unico modulo che ho avuto modo di lavorare è stato il seguente:
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)
}
}
}
Le osservazioni che ho fatto finora sono:
package object _root_ { ... }
non è consentito (il che è ragionevole),
package object x.y { ... }
è anche non consentito.
Sembra che un oggetto pacchetto debba essere dichiarato nel pacchetto genitore immediato e, se scritto come sopra, è richiesto il modulo di dichiarazione del pacchetto delimitato da parentesi graffe.
Sono di uso comune? Se é cosi, come?