Study
Scala

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.

Editor Latihan

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.