访问三元组中的第三个元素

时间:2017-02-14 09:36:54

标签: haskell tuples

我希望访问Haskell元组中的第3个元素。元组是类型(String,String,Int),我想要Int。我尝试以我在网上看到的方式创建自己的,主要是:

get3rd (_,_,x) = x

*我还尝试过使用类型声明:(String,String,Int) - > Int和为元组创建自定义类型并使用它。

如果我输入的元组全部由整数组成,这是有效的,但是一旦我输入字符串,我就会收到此错误:数据构造函数不在范围内:Mary :: String * Mary是一个任意的字符串,我输入的两个字符串都会出错。任何帮助都可以解决这个问题!

1 个答案:

答案 0 :(得分:1)

如果您不需要经常这样做,

let (_,_,x) = someTuple
in doSomething x

或者

doSomething x
where (_,_,x) = someTuple

几乎相当于这个

get3rd (_,_,x) = x
...
doSomething (get3rd someTuple)

但是如果你正在处理嵌套元组之类的东西,它可能会变得混乱