我希望访问Haskell元组中的第3个元素。元组的类型是(字符串,字符串,Int(,我想要Int。我尝试以我在网上看到的方式创建自己的方式,主要是:
get3rd (_,_,x) = x
*我还尝试使用类型声明:(字符串,字符串,整数(-> Int,并为元组创建自定义类型并使用它。
如果我输入的元组全部由整数组成,这有效,但是一旦我放入字符串,我就会收到此错误: 数据构造函数不在范围内: 玛丽 :: 字符串*玛丽是一个任意字符串,我输入的两个字符串都出错。任何帮助都将有助于解决这个问题!
如果你不需要经常这样做,这个
let (_,_,x) = someTuple
in doSomething x
或者这个
doSomething x
where (_,_,x) = someTuple
几乎等同于这个
get3rd (_,_,x) = x
...
doSomething (get3rd someTuple)
但是如果你正在处理像嵌套元组这样的东西,它可能会变得混乱。