概要
リスト内包表記とは、数学における集合の内包的表記に類似したリスト記法である。
リストのフィルタリング、変換、組み合わせを便利に記述できる。
文法
内包表記を書くときは、|でリストを区切り、左に表現を、右に述語を記述する。
値の束縛
<-演算子で、変数に値を束縛できる
ghci>[x | x <- [1..5]]
[1, 2, 3, 4, 5]
述語
述語を記述することで、その条件にあうようにリストを間引くことができる。
ghci>[x | x <- [1..10], x `mod` 3 == 1]
[1, 4, 7, 10]
値の加工
最終的に出力されるリストに加工を行うことができる。
ghci>[x * 2 | x <- [1..5]]
[2, 4, 6, 8, 10]
複数リストの組み合わせ
複数のリスト同士を組み合わせて内包表記することができる
ghci>[x + y | x <- [1, 2, 3], y <- [10, 20, 30]]
[11, 21, 31, 12, 22, 32, 31, 32, 33]
使い捨ての変数
右側で使われている変数が使われない場合、それを_で表現できる
ghci>[1 | _ <- [1..5]]
[1, 1, 1, 1, 1]
最終更新:2016年05月03日 11:41