タプル
💡 お知らせ: このドキュメントはAIによって翻訳されています。表現に違和感がある場合は、原文(英語)を参照するか、翻訳にご協力ください。
Tuple(タプル)は値の積です。タプルは (exp1, ..., expn) という形式で記述します。
例えば、以下は Int32 と Bool からなる 2 要素タプル(ペア)です:
(123, true)
このタプルの型は (Int32, Bool) です。
タプルはパターンマッチングを使って分解できます。例えば:
let t = ("Lucky", "Luke", 42, true); // 4要素タプル
let (fstName, lstName, age, male) = t;
lstName
は文字列 "Luke" に評価されます。
Flix の Prelude では fst と snd 関数が定義されています:
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