Scala Koleksiyonları - Katlama Yöntemi
fold () yöntemi, TraversableOnce özelliğinin bir üyesidir, koleksiyonların öğelerini daraltmak için kullanılır.
Sözdizimi
Aşağıda, katlama yönteminin sözdizimi verilmiştir.
def fold[A1 >: A](z: A1)(op: (A1, A1) ? A1): A1
Burada katlama yöntemi, ilişkilendirilebilir ikili operatör fonksiyonunu parametre olarak alır. Bu yöntem sonucu değer olarak döndürür. İlk girişi başlangıç değeri olarak ve ikinci girişi bir işlev olarak kabul eder (bu, giriş olarak birikmiş değeri ve mevcut öğeyi alır).
Kullanım
Aşağıda, katlama yönteminin nasıl kullanılacağını gösteren örnek bir program bulunmaktadır -
Misal
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)
}
}
Burada, katlama işlevine başlangıç değeri olarak 0'ı geçtik ve ardından tüm değerler eklendi. Yukarıdaki programı şuraya kaydedin:Demo.scala. Bu programı derlemek ve çalıştırmak için aşağıdaki komutlar kullanılır.
Komut
\>scalac Demo.scala
\>scala Demo
Çıktı
10