【问题标题】:What is the _root_ package in Scala?Scala 中的 _root_ 包是什么?
【发布时间】:2010-10-15 18:47:50
【问题描述】:

我正在使用带有 Scala 插件的 IntelliJ IDEA。如果我在代码中引用 HashMap,然后使用 Alt-Enter 添加导入,则包将导入为:

_root_.scala.collection.immutable.HashMap

root 部分是什么?无论有没有它,它似乎都可以工作。

【问题讨论】:

    标签: scala intellij-idea


    【解决方案1】:

    它必须是相对的 scala 导入 - _root_ 为您提供了一种指定绝对包名称的方法。见Scala Wiki

    【讨论】:

      【解决方案2】:

      Scala 语言规范在第 9.4 节 Package References

      中有关于 _root_ 的说明

      特殊的预定义名称_root_指的是最外层的根包 包含所有顶级包。

      有关完整语言参考,请参阅以下 PDF:http://www.scala-lang.org/docu/files/ScalaReference.pdf

      【讨论】:

        【解决方案3】:

        只有在当前包中有一个包含 HashMap 的嵌套包 scala.collection.immutable 时才需要它。这将是不带 _root_ 部分的相对导入的首选。

        编辑:这不太对,如果你有一个 scala 包作为祖先或嵌套在当前包中,问题就已经开始了。

        【讨论】:

          猜你喜欢
          • 2014-01-21
          • 1970-01-01
          • 2011-02-19
          • 2013-07-31
          • 1970-01-01
          • 2014-01-26
          • 2011-04-09
          • 2023-03-27
          • 2012-04-19
          相关资源
          最近更新 更多