gpt4 book ai didi

Haskell 列表卡住

转载 作者:行者123 更新时间:2023-12-02 20:35:37 25 4
gpt4 key购买 nike

我是 Haskell 的新手,正在尝试理解一些事情。如果我执行以下操作,我会遇到问题:

list1 = [1..]
list2 = [x | x <- list1, x <= 4]
print list2

返回[1,2,3,4。其上没有结束括号,因此就好像列表正在加载或卡住一样。其外观如下:

Prelude> print list2
[1,2,3,4

这是怎么回事?

最佳答案

知道列表是单调递增的,但 Haskell 不知道。使用 takeWhile 而不是列表理解,以便一旦发现大于 4 的值,list1 就可以停止计算。

> list1 = [1..]
> list2 = takeWhile (<= 4) list1
> print list2
[1,2,3,4]

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

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