gpt4 book ai didi

Haskell - zip 2 个列表

转载 作者:行者123 更新时间:2023-12-03 06:29:32 24 4
gpt4 key购买 nike

我想编写一个将两个列表压缩在一起的函数。我有以下代码:

zip' :: [a]->[b]->[(a,b)]
zip' _ [] = []
zip' [] _ = []
zip' (x:xs)(y:ys)=(x,y) zip'(xs ys)

问题是当我编译代码时出现很多错误

Couldn't match expected type [b]->t0 with actual type a

The function xs is applied to one argument

有什么想法我做错了什么吗?抱歉,如果这听起来像是愚蠢的问题。

最佳答案

您需要将 (x,y) 附加到返回值:

zip' (x:xs) (y:ys) = (x,y):zip' xs ys

否则,它在语法上没有任何意义,因为您没有 cons (:)ing 与返回值匹配的 x,y。

Fiddle

关于Haskell - zip 2 个列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30072001/

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