提取元组组件

使用 fstsnd 函数(来自 PreludeData.Tuple)来提取对的第一和第二组成部分。

fst (1, 2) -- evaluates to 1

snd (1, 2) -- evaluates to 2

或者使用模式匹配。

case (1, 2) of (result, _) => result -- evaluates to 1

case (1, 2) of (_, result) => result -- evaluates to 2

模式匹配也适用于具有两个以上组件的元组。

case (1, 2, 3) of (result, _, _) => result -- evaluates to 1

case (1, 2, 3) of (_, result, _) => result -- evaluates to 2

case (1, 2, 3) of (_, _, result) => result -- evaluates to 3

对于具有两个以上组件的元组,Haskell 不提供像 fstsnd 这样的标准函数。 Hackage 上的 tuple 库在 Data.Tuple.Select 模块中提供了这样的功能。