val arr=Array(1,2,3,4)
arr.map(x=>x*2)
源码
//第一个参数,传入一个函数,第二个参数为隐式参数
def map[B, That](f: A => B)(implicit bf: CanBuildFrom[Repr, B, That]): That = {
//方法内部定义builder方法
def builder = { // extracted to keep method size under 35 bytes, so that it can be JIT-inlined
//调用repr方法
val b = bf(repr)
b.sizeHint(this)
b
}
//将上述builder方法的返回值赋值给b
val b = builder
for (x <- this) b += f(x)
//调用result方法,返回一个集合
b.result
}