gpt4 book ai didi

clojure - Clojure中是否有标准的 “foreach”函数?

转载 作者:行者123 更新时间:2023-12-03 13:05:18 25 4
gpt4 key购买 nike

Clojure> (doc foreach)
Unable to resolve var: foreach in this context

Clojure> (doc map)
-------------------------
clojure.core/map
([f coll] [f c1 c2] [f c1 c2 c3] [f c1 c2 c3 & colls])

当然,我可以使用“ map ”来模仿“foreach”,但是 map 总是返回nil,这在以下函数中使输出难看:
(defn div618 [p1 p2]
(let [ratio [0.,0.191,0.236,0.382,0.5,0.618,0.809,1.]
price (fn [r] (if (<= p1 p2) (+ p1 (* (- p2 p1) r)) (- p1 (* (- p1 p2) r))))]

(if (<= p1 p2)
(**map** #(println (format "-------%.3f %.2f-------" %1 (price %1))) (reverse ratio))
(**map** #(println (format "-------%.3f %.2f-------" %1 (price %1))) ratio))))

真诚的!

最佳答案

我认为doseq可能就是您想要的:

(doseq [i [0 1 2 3]] (println i))

但是,这仍然会返回 nil-Clojure中的所有形式都将计算为某个值;没有Common Lisp的 (values)等效。

关于clojure - Clojure中是否有标准的 “foreach”函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7314413/

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