Perulangan & For-Comprehension di Scala
Penjelasan
Scala mendukung `for` dan `while` seperti bahasa lain, tapi `for` di Scala lebih berupa "for-comprehension" yang bisa memakai kata kunci `yield` untuk menghasilkan collection baru dari hasil iterasi — mirip list comprehension di Python. Ini pola yang sangat idiomatik di Scala.
Contoh Konsep
for (i <- 1 to 5) {
println(i)
}
// for-comprehension dengan yield: menghasilkan collection baru
val kuadrat = for (i <- 1 to 5) yield i * i
println(kuadrat) // Vector(1, 4, 9, 16, 25)
var angka = 1
while (angka <= 3) {
println(angka)
angka += 1
}
Praktikum
Pakai for-comprehension dengan yield untuk membuat collection baru berisi semua angka 1 sampai 10 yang dikalikan 2.
Ketik/edit bebas di sini untuk latihan — kode ini tidak dijalankan.
Tips
`for (i <- 1 to 5)` menyertakan 5 (inklusif), sedangkan `for (i <- 1 until 5)` TIDAK menyertakan 5 (eksklusif) — perbedaan `to` dan `until` ini sering jadi sumber off-by-one error.