gpt4 book ai didi

clojure - 如何在Clojure中制作一个无限的重复序列?

转载 作者:行者123 更新时间:2023-12-04 13:51:16 25 4
gpt4 key购买 nike

我想获取一个序列或向量,并为其创建一个无限的,循环的,懒惰的版本。这是我尝试的:

(def test-seq '(1 2 3))
(take 5 (repeat test-seq))

我得到了
((1 2 3) (1 2 3) (1 2 3) (1 2 3) (1 2 3))

当我想要的是
(1 2 3 1 2)

我知道这有用
(take 5 (flatten (repeat test-seq)))

但这似乎有点让人不满意和松弛。我假设重新构造一个序列序列是很昂贵的,但是我很可能是错的:)

最佳答案

您正在寻找cycle:

(take 5 (cycle '(1 2 3))) ;; => (1 2 3 1 2)

关于clojure - 如何在Clojure中制作一个无限的重复序列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17998133/

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