有没有办法删除3元素元组的第一个元素,所以我得到一个2元素元组而不必为此目的创建另一个函数?
(A,B,C) - >(B,C)
基本上我必须使用一个函数,它创建一个3元素元组,然后我必须使用一个只使用它的最后两个元素的函数。
感谢您的回答。
答案 0 :(得分:11)
你的问题几乎本身就有所需的功能!
\(a,b,c)->(b,c)
是您需要的功能。它是一个动态定义的“匿名”函数,您无需为其命名。例如,如果你有
someFunc :: someType -> (Int, Char, Bool)
你可以做到
(\(a,b,c)->(b,c)) (someFunc someValue)
获取someFunc someValue
的第二和第三个组件。
答案 1 :(得分:5)
您可以使用let
等几种句法结构进行模式匹配。所以你可以这样做:
let (a, b, c) = triTuple in fn (b, c)
答案 2 :(得分:1)
您可以使用case
:
case x of (a, b, c) -> (b, c)