19.2. Wyrażenie for
Oprócz pętli for można również wykorzystywać podobne składniowo wyrażenie for, które po nawiasie zamykającym ma słowo kluczowe yield, a po nim wyrażenie obliczające wartość pojedynczego przetwarzanego elementu. Wyrażenie for z poniższego przykładu buduje listę trzech liczb będących kwadratami liczb naturalnych znajdujących się na liście użytej w generatorze.
scala> for (x <- List(1,2,3)) yield x*x res0: List[Int] = List(1, 4, 9)
W wyrażeniu po prawej stronie strzałki znajduje się lista i również lista jest zwracana w wyniku całego wyrażenia for. Nie jest to przypadek. W poniższym wyrażeniu po prawej stronie strzałki użyta jest tablica i również tablica jest zwracana jako wynik całego wyrażenia.
scala> for (x <- Array(1,2,3)) yield x*x res1: Array[Int] = Array(1, 4, 9)
Następny punkt wyjaśnia dlaczego tak się dzieje.
