Haskell入門(リスト)
リストの作成
Prelude> [1, 2, 3] [1,2,3] Prelude> 1 : 2 : 3 : [] [1,2,3]
リストの連結
Prelude> [1, 2] ++ [3, 4] [1,2,3,4]
リストの先頭に要素を追加
Prelude> 1 : [2, 3] [1,2,3]
リストの末尾に要素を追加
Prelude> [1, 2] ++ [3] [1,2,3]
リストのn番目の要素の取得
インデックスは0から始まる
Prelude> [1, 2, 3] !! 0 1 Prelude> [1, 2, 3] !! 1 2 Prelude> [1, 2, 3] !! 2 3 Prelude> "abc" !! 0 'a' Prelude> "abc" !! 1 'b' Prelude> "abc" !! 2 'c' Prelude> "abc" !! 3 *** Exception: Prelude.!!: index too large
基本のリスト関数
先頭の要素 Prelude> head [1, 2, 3] 1 先頭の要素を取り除いたリスト Prelude> tail [1, 2, 3] [2,3] 末尾の要素 Prelude> last [1, 2, 3] 3 末尾の要素を取り除いたリスト Prelude> init [1, 2, 3] [1,2] リストの長さ Prelude> length [1, 2, 3] 3 リストが空であるか Prelude> null [1, 2] False Prelude> null [] True 逆順にしたリスト Prelude> reverse [1, 2, 3] [3,2,1] リストの先頭からいくつかの要素を取り出したリスト Prelude> take 2 [3, 4, 5] [3,4] Prelude> take 4 [3, 4, 5] [3,4,5] Prelude> take 0 [3, 4, 5] [] リストの先頭からいくつかの要素を削除したリスト Prelude> drop 2 [3, 4, 5] [5] Prelude> drop 4 [3, 4, 5] [] Prelude> drop 0 [3, 4, 5] [3,4,5] リストの最大の要素 Prelude> maximum [3, 4, 5] 5 リストの最小の要素 Prelude> minimum [3, 4, 5] 3 リストの合計 Prelude> sum [3, 4, 5] 12 リストの積 Prelude> product [3, 4, 5] 60 リストにある要素が含まれているか Prelude> elem 4 [3, 4, 5] True Prelude> elem 6 [3, 4, 5] False