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 件のコメント:
コメントを投稿