Scala数组映射功能文档(PSSQ#1)

|| PSSQ代表可能是愚蠢的Scala问题:) 稍微了解一下Scala,在强制性的Hello World示例(如下代码)中,main函数的参数是一个字符串数组。
object HelloWorld
{
    def main(args: Array[String]): Unit = 
    {
        args.map((arg:String) => arg.toUpperCase());
        printf(\"%s %s!\", \"Hello\", \"World\");
    }
}
在示例中,我在数组上使用
map()
函数。但是,当我查看Scala API文档时,没有将ѭ1列出为
Array
可用的功能之一。是否正在发生某种魔术,或者我在API文档中缺少明显的东西?     
已邀请:
这是因为Scala的一项关键功能称为隐式转换。网上有很多关于它们的文档,例如,请参见以下文档:http://www.codecommit.com/blog/scala/scala-for-java-refugees-part-6 即将推出的Scala 2.9 REPL可以帮助您找出可能涉及的内容:
scala> :implicits -v
...寻找Array,我们找到几个要去
mutable.ArrayOps
的数组。那个的scaladoc:http://www.scala-lang.org/archives/downloads/distrib/files/nightly/docs/library/scala/collection/mutable/ArrayOps.html 这意味着由于隐式转换方法
refArrayOps
在范围内(默认为
Predef
),每当您尝试对未为
Array
定义但未为
ArrayOps
定义的
Array
调用方法时,scala都会(隐式)插入转换,因此您实际上有
Predef.refArrayOps(args).map(...)
    
一个简单的答案:ѭ12实际上是关于ѭ13特质的一种方法,ѭ3包含在其中。 艰难的答案:ѭ3really不再真正扩展
Traversable
(iirc),但是当在
Array
实例上调用
Traversable
方法时,会发生隐式转换以使之起作用。     

要回复问题请先登录注册