0

我有一个函数需要 4 元组类型的列表,在函数中我需要参考函数的输入来做一些其他的事情,比如获取该元组的第一个元素或获取 4 的第一个元素的长度-tuple 我的函数如下

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

在做一些事情的部分我需要做一些比较,但我需要参考 foo 的输入,我不知道怎么做。我是这样的

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

谁能帮我吗?

4

1 回答 1

4

你可以写

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

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

于 2013-10-14T07:30:31.087 回答