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.

Język programowania Scala Wydanie 2. Copyright © Grzegorz Balcerek 2016

Licencja Creative Commons

Ten utwór jest dostępny na licencji Creative Commons Uznanie autorstwa-Na tych samych warunkach 4.0 Międzynarodowe.

Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.