Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

タプル

💡 お知らせ: このドキュメントはAIによって翻訳されています。表現に違和感がある場合は、原文(英語)を参照するか、翻訳にご協力ください。

Tuple(タプル)は値の積です。タプルは (exp1, ..., expn) という形式で記述します。

例えば、以下は Int32Bool からなる 2 要素タプル(ペア)です:

(123, true)

このタプルの型は (Int32, Bool) です。

タプルはパターンマッチングを使って分解できます。例えば:

let t = ("Lucky", "Luke", 42, true); // 4要素タプル
let (fstName, lstName, age, male) = t;
lstName

は文字列 "Luke" に評価されます。

Flix の Prelude では fstsnd 関数が定義されています:

let t = (1, 2);
let x = fst(t); // x = 1
let y = snd(t)  // y = 2

これらは 2 要素タプル(つまりペア)を扱うときに便利です。例えば:

let l = (1, 1) :: (2, 2) :: Nil; // 型は List[(Int32, Int32)]
List.map(fst, l)                 // 型は List[Int32]

これは次のリストに評価されます:

1 :: 2 :: Nil