删除3元素元组的第一个元素

Ste*_* P. 1 haskell functional-programming tuples

有没有办法删除3元素元组的第一个元素,所以我得到一个2元素元组而不必为此目的创建另一个函数?

(A,B,C) - >(B,C)

基本上我必须使用一个函数,它创建一个3元素元组然后我必须使用一个只使用它的最后两个元素的函数.

谢谢您的回答.

Pra*_*eek 11

你的问题几乎具有所需的功能!

\(a,b,c)->(b,c)
Run Code Online (Sandbox Code Playgroud)

是你需要的功能.它是一个动态定义的"匿名"函数,您无需为其命名.所以,例如,如果你有

someFunc :: someType -> (Int, Char, Bool)
Run Code Online (Sandbox Code Playgroud)

你可以做到

(\(a,b,c)->(b,c)) (someFunc someValue)
Run Code Online (Sandbox Code Playgroud)

获得第二和第三部分someFunc someValue.

  • 可悲的是,在3元组的标准库中似乎没有像'curry`,`uncurry`,`fst`和`snd`这样的函数.否则我们可以毫无意义地完成它! (2认同)

Tik*_*vis 5

你可以用几种句法结构进行模式匹配let.所以你可以这样做:

let (a, b, c) = triTuple in fn (b, c)
Run Code Online (Sandbox Code Playgroud)