Що таке об’єкти пакету, не стільки концепція, скільки їх використання?
Я намагався отримати приклад роботи, і єдиною формою, якою я зайнявся, була така:
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 { ... }
також заборонено.
Здається, що об'єкт пакета повинен бути оголошений у безпосередньому батьківському пакунку, і, якщо написано, як зазначено вище, потрібна форма декларації пакета з розділеними фігурними дужками.
Чи є вони загальновживаними? Якщо так, то як?