Scala Collections - FoldLeft Method
foldLeft () method เป็นสมาชิกของ TraversableOnce trait ซึ่งจะใช้เพื่อยุบองค์ประกอบของคอลเลกชัน มันนำทางองค์ประกอบจากซ้ายไปขวาตามลำดับ ส่วนใหญ่จะใช้ในฟังก์ชันเรียกซ้ำและป้องกันข้อยกเว้นของสแตกล้น
ไวยากรณ์
ต่อไปนี้เป็นไวยากรณ์ของวิธีการพับ
def foldLeft[B](z: B)(op: (B, A) ? B): B
ที่นี่เมธอด foldLeft ใช้ฟังก์ชันตัวดำเนินการไบนารีที่เชื่อมโยงเป็นพารามิเตอร์ วิธีนี้จะส่งคืนผลลัพธ์เป็นค่า
การใช้งาน
ด้านล่างนี้เป็นโปรแกรมตัวอย่างการแสดงวิธีการใช้วิธี foldLeft -
ตัวอย่าง
object Demo {
def main(args: Array[String]) = {
val list = List(1, 2, 3 ,4)
//apply operation to get sum of all elements of the list
val result = list.foldLeft(0)(_ + _)
//print result
println(result)
}
}
ที่นี่เราได้ส่ง 0 เป็นค่าเริ่มต้นไปยังฟังก์ชันพับจากนั้นค่าทั้งหมดจะถูกเพิ่ม บันทึกโปรแกรมข้างต้นในDemo.scala. คำสั่งต่อไปนี้ใช้เพื่อคอมไพล์และรันโปรแกรมนี้
คำสั่ง
\>scalac Demo.scala
\>scala Demo
เอาต์พุต
10