假设我有一个带有一个参数的函数 a 和一个带有可能输入的列表 b ,定义为:
let a x1 = x1 == 3
let b = [3, 3]
现在我想测试 b 中的所有值是否返回 True 作为 a 的参数,我可以使用 all 函数来执行此操作:
all a b
> True
但是,如果 a 将采用两个参数并且 b 将是一个元组列表,其中元组中的每个值对应于每个参数,我可以做类似的事情吗?
例如:
let a x1 x2 = x1 == 3 && x2 == 1
let b = [(3,1), (3,1)]
all a b
这将返回:
<interactive>:1:4:
Couldn't match expected type `Bool'
against inferred type `a1 -> Bool'
In the first argument of `all', namely `a'
In the expression: all a b
In the definition of `it': it = all a b
关于如何做到这一点的任何想法?