Koleksi Scala - Metode Lipat
metode fold () adalah anggota dari sifat TraversableOnce, digunakan untuk menciutkan elemen koleksi.
Sintaksis
Berikut ini adalah sintaks metode lipat.
def fold[A1 >: A](z: A1)(op: (A1, A1) ? A1): A1
Di sini, metode lipat mengambil fungsi operator biner asosiatif sebagai parameter. Metode ini mengembalikan hasil sebagai nilai. Ini menganggap input pertama sebagai nilai awal dan input kedua sebagai fungsi (yang mengambil nilai akumulasi dan item saat ini sebagai input).
Pemakaian
Di bawah ini adalah contoh program untuk menunjukkan bagaimana menggunakan metode lipat -
Contoh
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.fold(0)(_ + _)
//print result
println(result)
}
}
Di sini kita telah melewatkan 0 sebagai nilai awal ke fungsi lipat dan kemudian semua nilai ditambahkan. Simpan program di atas dalamDemo.scala. Perintah berikut digunakan untuk mengkompilasi dan menjalankan program ini.
Perintah
\>scalac Demo.scala
\>scala Demo
Keluaran
10