如何用Scala實(shí)現(xiàn)列表折疊操作?
列表的折疊 :(0 /: list)(_+_) list :\0(_+_)
package exp {
package exp {
object Main {
def main(args: Array[String]): Unit = {
val x = List.concat(Array(1,2,3),Array(4,5,6),Set(7,8,9));
println((List[Int]() /: x){(p,q)=>q::p}); //左折疊操作函數(shù)的第一個類型是初始參數(shù)類型
// -> List(9, 8, 7, 6, 5, 4, 3, 2, 1)
println((x :\ List[Int]())((p,q)=>p::q)); //右折疊操作函數(shù)的第一個類型是列表元素類型
// -> List(1, 2, 3, 4, 5, 6, 7, 8, 9)
}
}
}