我是一位很強大的Java開發人員,他最近開始嘗試在空閒時間拿起Scala。我正在瀏覽scala-lang.org上的Scala by Example PDF,並且很困惑第一個例子中的Quick Sort如何工作。這裏是代碼:scala.Array是一個Seq?
object QuickSort extends App {
def sort(input: Array[Int]): Array[Int] = {
if(input.length <= 1) input
else
{
val pivot = input(input.length/2)
Array.concat(
sort(input filter (pivot >)),
input filter (pivot ==),
sort(input filter (pivot <))
)
}
}
sort(Array(5, 4, 3, 2, 1)) foreach println
}
我的問題是不與語法或任何東西,但我很困惑與過濾函數來自何處。根據PDF,它表示它來自Seq [T]類,並且所有陣列都是Seq [T]的實例。這一切都很好,很棒,在閱讀PDF時我很滿意,並且很高興新手Scala開發人員。但後來我挖得更深一點,開始考慮scaladoc for Array[T]以及Array [T]的源代碼,但我沒有看到Array [T]類如何擴展或繼承Seq [T]特性。我錯過了什麼?