2009-03-26 6 views
37

J'utilise IntelliJ IDEA avec le plugin Scala. Si je fais référence HashMap dans le code, puis utilisez Alt + Entrée pour ajouter l'importation, le paquet est importé comme:Qu'est-ce que le paquet _root_ dans Scala?

_root_.scala.collection.immutable.HashMap 

Quelle est la racine partie? Cela semble fonctionner avec et sans.

Répondre

40

Il doit faire des importations de scala étant relatif - _root_ vous donne un moyen de spécifier un nom de paquet absolu. Voir le Scala Wiki

5

Vous n'en auriez besoin que si dans votre paquet actuel vous aviez un paquet imbriqué scala.collection.immutable contenant HashMap. Ceci serait préféré par une importation relative sans la partie _root_.

Modifier: Ce n'était pas tout à fait raison, les problèmes commencent déjà si vous avez un paquet scala soit comme un ancêtre ou imbriqué dans le paquet actuel.

5

La spécification du langage Scala a ceci à dire au sujet _root_ dans la section 9.4 Package Références

Le prédé fi spécial nom ned _root_ fait référence à l'ensemble de la racine la plus externe qui contient tous les paquets de haut niveau.

Voir le PDF ci-dessous pour la référence complète de la langue: http://www.scala-lang.org/docu/files/ScalaReference.pdf

Questions connexes