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