技術のメモ箱

Haskell/タプル

タプルの定義

複数の違う型の要素を格納して、1つの値として扱うことができる。

(1, 3)
(1, 'a', "ABC")

サイズ2のタプルと、サイズ3のタプルは違う型として扱われる。
また、同じサイズのタプルでも、要素の型が異なれば区別される。

Prelude> :t +d (1, 3)
(1, 3) :: (Integer, Integer)
Prelude> :t +d (1, 'a', "ABC")
(1, 'a', "ABC") :: (Integer, Char, [Char])

空のタプル()も型であり、1つの値()のみを持つ。()はユニットと呼ばれる。

タプルの便利関数

ペア用

関数説明
fst ペアの1つ目の要素を返す。
Prelude> fst (8, 11)
8
snd ペアの2つ目の要素を返す。
Prelude> snd (8, 11)
11
zip 2つのリストを1つのリストにする。要素はタプルになる。
Prelude> zip [1,2,3] ["one","two","three"]
[(1,"one"),(2,"two"),(3,"three")]
pagetop