Scala For Yapısı

For Döngü Yapısı
Yapı 1

for( tanimlayici <- baslangis [to | until] bitis by artis ) {

}

Yapı  2

for( tanimlayici <- yineleyici ) {

}

Örnek 1

for (x <- 1 to 10 ) println(x)              // 1 2 3 4 5 6 7 8 9 10
for (x <- 1 to 10 by 2 ) println(x)         // 1 3 5 7 9
for (x <- 1 to 20 if x%3 == 0) println(x)   // 3 6 9 12 15 18

Örnek 2

var isimler = "ahmet,mehmet,ali,burak,can,ayşe,ceren,beyza"
for { isim <- isimler.split(",")
  if isim != null
  if isim.length > 4
} { println(isim) }  
//ahmet mehmet burak ceren beyza

Örnek 3

var gunler =  for ( i <- 1 to 7 ) yield s"$i.Gün" 
//gunler =  Vector(1.Gün, 2.Gün, 3.Gün, 4.Gün, 5.Gün, 6.Gün, 7.Gün)

for (g <- gunler) println(g)
//1.Gün, 2.Gün, 3.Gün, 4.Gün, 5.Gün, 6.Gün, 7.Gün

Yukarıda ki örnekte görüldüğü gibi yield anahtar kelimesi Vector değer döndürür.