10 Stimmen

Wann sollte ich Scalas speziellen `Paket`-Bezeichner verwenden?

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.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X