1.全ての要素に対して処理を行う(foreach)
val ls = List(0, 1, 2) for (i <- ls) println(i)
0 1 2
2.条件抽出(filter)
val ls = List(0, 1, 2, 3, 4, 5, 6, 7, 8, 9) for (i <- ls if i % 2 == 0) println(i)
0 2 4 6 8
3.全要素に操作を行ったリストの取得(map)
val ls = List(0, 1, 2) val mapped = for (i <- ls) yield { i + 1 } mapped.foreach(println)
1 2 3
4.ネストしたfor文
val ls1 = List(0, 1, 2) val ls2 = List(3, 4, 5) for (i <- ls1; j <- ls2) println(i, j) // これと同じ // for (i <- ls1) { // for (j <- ls2) { // println(i, j) // } // }
(0,3) (0,4) (0,5) (1,3) (1,4) (1,5) (2,3) (2,4) (2,5)
ちなみに、break / continue はありません