在未导入任何内容时,Scala中的哪些隐式转换将作为默认值存在

时间:2014-04-22 12:14:22

标签: scala implicit-conversion implicits implicit-cast

Scala默认存在哪些含义?

我知道 RichString 正则表达式以及我使用的其他一些。

  • 但是它们都有列表吗?
  • 他们在哪里实施? SourceFiles?
  • 有没有办法获取当前导入状态的所有可能隐式转换的列表?

3 个答案:

答案 0 :(得分:2)

自动导入的成员是:

  • java.lang
  • 的成员
  • scala
  • 的成员
  • Predef对象的成员

请参阅scala规范§9.1

鉴于只有对象(和包对象)可以包含方法或值,唯一可以找到标准(没有其他导入)隐式值的位置在Predefscala包中目前似乎没有相应的包对象。)

答案 1 :(得分:1)

我相信所有scala默认导入都位于scala.Predef,包括implicits。

答案 2 :(得分:0)

Predef中声明的所有内容都会自动导入,包括implicits。 在http://www.scala-lang.org/api/2.10.3/index.html#scala.Predef检查Predef。 在那里,您可以看到价值成员列表。您应该查找以implicit def开头的项目。