gpt4 book ai didi

haskell - 将 all 与多参数函数一起使用

转载 作者:行者123 更新时间:2023-12-02 06:04:34 25 4
gpt4 key购买 nike

假设我有一个接受一个参数的函数 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

关于如何做到这一点有什么想法吗?

最佳答案

要将具有两个参数的函数转换为需要一对参数的函数,请使用

uncurry :: (r -> s -> t) -> (r, s) -> t

那么,怎么样

all (uncurry a) b

?

关于haskell - 将 all 与多参数函数一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13258142/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com