paquetes - ¿Qué es el paquete_root_ en Scala?
r packages list (3)
Estoy usando IntelliJ IDEA con el plugin de Scala. Si hago referencia a HashMap en el código y luego uso Alt-Enter para agregar la importación, el paquete se importa como:
_root_.scala.collection.immutable.HashMap
¿Cuál es la raíz de esto? Parece que funciona con y sin ella.
La especificación del lenguaje Scala tiene esto que decir sobre _root_
en la sección 9.4 Referencias de paquetes
El nombre predefinido especial
_root_
refiere al paquete raíz más externo que contiene todos los paquetes de nivel superior.
Consulte el siguiente PDF para obtener la referencia completa del idioma: http://www.scala-lang.org/docu/files/ScalaReference.pdf
Solo lo necesitaría si dentro de su paquete actual tuviera un paquete anidado scala.collection.immutable que contenga HashMap. Esto sería preferido por una importación relativa sin la parte _root_.
Editar: Eso no estaba del todo bien, los problemas ya comienzan si tienes un paquete scala ya sea como ancestro o anidado en el paquete actual.
Tiene que hacer que las importaciones de scala sean relativas, _root_
le da una forma de especificar un nombre de paquete absoluto. Ver la Wiki Scala