for (i<-1 to 2; j<-5 to 6) print(i + "-" + j + " ")実行結果:
1-5 1-6 2-5 2-6
ふむ。後ろが先に回っている。
拡張For文形式。ついでに if 句をつけてみる。
val a = Array(1, 2, 3, 4);
val b = Array(6, 7, 8, 9);
for (i <- a if i % 2 == 0; j <- b if j % 2 == 0)
print(i + "-" + j + " ");
実行結果:
2-6 2-8 4-6 4-8
yield句をつけると返り値はどうなるのだろう。
val a = Array(1, 2, 3, 4);
val b = Array(6, 7, 8, 9);
val result : Traversable[String] =
for (i <- a if i % 2 == 0; j <- b if j % 2 == 0) yield
i + "-" + j + " ";
println(result);
実行結果:
ArraySeq(2-6 , 2-8 , 4-6 , 4-8 )
ふつうにTraversableで受けれた。返り値まで多次元になるわけではないようだ。
0 件のコメント:
コメントを投稿