Koleksi Scala - Metode Pindai
scan () metode adalah anggota dari sifat TraversableLike, ini mirip dengan metode lipat tetapi digunakan untuk menerapkan operasi pada setiap elemen koleksi dan mengembalikan koleksi.
Sintaksis
Berikut ini adalah sintaks metode lipat.
def scan[B >: A, That](z: B)(op: (B, B) ? B)(implicit cbf: CanBuildFrom[Repr, B, That]): That
Di sini, metode scan mengambil fungsi operator biner asosiatif sebagai parameter. Metode ini mengembalikan koleksi yang diperbarui sebagai hasil. Ini menganggap masukan pertama sebagai nilai awal dan masukan kedua sebagai fungsi.
Pemakaian
Di bawah ini adalah contoh program untuk menunjukkan bagaimana menggunakan metode pemindaian -
Contoh
object Demo {
def main(args: Array[String]) = {
val list = List(1, 2, 3 ,4)
//apply operation to create a running total of all elements of the list
val list1 = list.scan(0)(_ + _)
//print list
println(list1)
}
}
Di sini kita telah melewatkan 0 sebagai nilai awal untuk memindai fungsi 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
List(0, 1, 3, 6, 10)