gpt4 book ai didi

list - 转换 [整数] -> 整数

转载 作者:行者123 更新时间:2023-12-04 19:55:10 30 4
gpt4 key购买 nike

我以前从未编程过,最近(1 周前)才开始学习!第一门类(class)是函数式编程,使用 Haskell。

我有一项学校作业,我想通过删除一两个步骤来改进它,但我遇到了一个讨厌的错误。

基本上,我创建了一个列表并得到类型为 [Integer] 的结果,而我想将其转换为 Integer,如果可能的话?我已将我的测试函数设置为接受类型 Integer -> Integer -> Bool(取两个值,计算它们,并返回一个 bool)。测试函数将值放入两个函数并比较它们的结果。

我可以将预期类型更改为 [Integer] (?) 但这会消除手动输入值的选项。

对于我的测试用例,我选择了一些值并将它们放入列表中。 a = [0, 2, (-3)]b = [0, 2, 4]。当我调用该函数时,我想做的是输入 ab 作为值,而不是每次都输入每个测试用例。这可能吗?示例:

testFunction a b

而不是类似的东西

testFunction Integer Integer.

我希望我说得有道理 :-) 请记住,我只是在学习!

最佳答案

在不让这对你来说太复杂的情况下,你似乎正在寻找的是将两个整数列表传递给一个接受整数的函数以执行元素操作的能力。

为此,您可以使用 zipWith,它的类型签名为:

zipWith :: (a -> b -> c) -> [a] -> [b] -> [c]

此类型签名意味着 zipWith 接受一个函数,该函数接受两个单独的元素和两个列表,并返回一个基于您传递的函数的结果构建的列表。

总而言之,您将执行:

zipWith myFunction [1,2,3,4] [5,6,7,8]

现在,您想要创建一个函数,首先对您的两个函数分别使用 zipWith,然后再次使用 zipWith 来比较两个结果列表,以最后返回 bool 值。如果你想要更复杂,你可以在最后使用 and 函数,返回一个 bool 值,如果所有 bool 值都是 True

现在,构建该函数留给读者作为练习:)

希望对您有所帮助。

关于list - 转换 [整数] -> 整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25728432/

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