gpt4 book ai didi

clojure 对等式使用线程宏

转载 作者:行者123 更新时间:2023-12-01 22:33:28 25 4
gpt4 key购买 nike

我在 Java 中有这个等式,我想将其翻译成 Clojure:

limit = (int)(n*(Math.log(n) + Math.log(Math.log(n)))) + 3;

我想避免它变成一大堆嵌套括号,在 Clojure 中使其可读的最佳方法是什么?

最佳答案

您可以使用 let 形式将公式分解为更简单的部分:

(defn calc-limit [n]
(let [log (Math/log n)
loglog (Math/log log)
logsum (+ log loglog)]
(-> n (* logsum) int (+ 3))))

(calc-limit 256) ; => 1861

关于clojure 对等式使用线程宏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28432756/

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