mapとflatmapについての説明が出ていた。
List.range(1,5) flatmap (
i=> List.range(1,i) map (j => (i,j))
)
これが、どうなるか、たどってみた。
List.range(1,5)はList(1,2,3,4)
i=1であれば List.range(1,1) map (j => (1,j))は なし?
i=2 List.range(1,2) map (j => (2,j))は (2,1)
i=3 List.range(1,3) map (j => (3,j))は (3,1),(3,2)
i=4 List.range(1,4) map (j => (4,j)) は (4,1),(4,2),(4,3)
これらがflatmapで連結されて、List((2,1),(3,1),(3,2),(4,1),(4,2),(4,3))
となるようだ。
0 件のコメント:
コメントを投稿