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