In Scala können Sie definieren Paketobjekte . Es scheint also, dass Sie auf dieses Paketobjekt zugreifen können, indem Sie den Paketnamen schreiben und dann `package`
:
// file package.scala in src/com
package com
package object test {
val Version = 2
}
// file Test.scala in src/test
package test
object Test {
def main(args: Array[String]) {
val p = com.test.`package` // get ref on package object
val v1 = com.test.`package`.Version // (1) get val
val v2 = com.test.Version // (2) get val
}
}
Was ist der Unterschied zwischen (1) und (2)? In einigen Fällen musste ich die zusätzliche `package`
damit mein Code läuft. Sollte es einen Unterschied geben oder ist es ein Compilerfehler?
Außerdem, was bedeutet z.B. diese Zeile, in Predef.scala
?
scala.`package` // to force scala package object to be seen.