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