Scala Collections - ลดวิธี

วิธีการลด () เป็นสมาชิกของ TraversableOnce trait ซึ่งใช้เพื่อยุบองค์ประกอบของคอลเล็กชัน คล้ายกับวิธีการพับ แต่ไม่ใช้ค่าเริ่มต้น

ไวยากรณ์

ต่อไปนี้เป็นไวยากรณ์ของวิธีการลด

def reduce[A1 >: A](op: (A1, A1) ? A1): A1

วิธีการลดใช้ฟังก์ชันตัวดำเนินการไบนารีที่เชื่อมโยงเป็นพารามิเตอร์ วิธีนี้ส่งคืนค่าผลลัพธ์

การใช้งาน

ด้านล่างนี้เป็นตัวอย่างโปรแกรมแสดงวิธีใช้วิธีพับ -

ตัวอย่าง

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.reduce(_ + _)
      //print result
      println(result)      
   }
}

บันทึกโปรแกรมข้างต้นใน Demo.scala. คำสั่งต่อไปนี้ใช้เพื่อคอมไพล์และรันโปรแกรมนี้

คำสั่ง

\>scalac Demo.scala
\>scala Demo

เอาต์พุต

10