gpt4 book ai didi

clojure - last of a lazy seq 会评估 clojure 中的所有元素吗?

转载 作者:行者123 更新时间:2023-12-04 22:35:23 24 4
gpt4 key购买 nike

假设我们有一个昂贵的计算 expensive 。如果我们认为 map 产生一个惰性序列,那么下面的函数是对映射集合的所有元素还是仅对最后一个元素评估函数 expensive

(last
(map expensive '(1 2 3 4 5)))

IE。这是为所有值 1..5 评估 expensive 还是只评估 (expensive 5)

最佳答案

将评估整个集合。一个简单的测试可以回答您的问题。

=> (defn exp [x]
(println "ran")
x)
=> (last
(map exp '(1 2 3 4 5)))
ran
ran
ran
ran
ran
5

关于clojure - last of a lazy seq 会评估 clojure 中的所有元素吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8280516/

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