如何在haskell中引用函数的输入

时间:2013-10-14 07:08:17

标签: haskell

我有一个函数,它需要4元组的类型列表,在函数中我需要引用函数的输入来做一些其他的东西,比如获取该元组的第一个元素或获取第一个元素的长度4元组 我的功能如下:

foo (a:_,b:_,c:_,d:_) = do something 

在做一些事情我需要做一些比较,但我需要参考foo的输入,我不知道如何。 我喜欢这个

let input = (a:_,b:_,c:_,d:_) in foo input // generates error

任何人都可以帮助我吗?

1 个答案:

答案 0 :(得分:4)

你可以写

foo args@(a:_,b:_,c:_,d:_) = if bar args then (a,c) else (b,d)

在第二种情况下,您会收到错误,因为通配符不能出现在绑定表达式的右侧