【发布时间】:2013-04-14 18:55:15
【问题描述】:
在SeqLike.scala 类中有一个名为reverse 的函数,它可以反转一个序列。例如它使List(1,2,3,4) 成为`List(4,3,2,1)
在源码中,描述是:
def reverse: Repr = {
var xs: List[A] = List() //Line 1
for (x <- this)
xs = x :: xs
val b = newBuilder ////Line 4
b.sizeHint(this)
for (x <- xs)
b += x
b.result
}
我不明白的是:第 (1-3) 行完成了这项工作。但是为什么它会创建一个新的builder,然后向它添加元素以返回。只需 Line[1-3] 就足够了
【问题讨论】:
标签: scala