gpt4 book ai didi

clojure - 在 Clojure 中解释惰性帕斯卡三角形

转载 作者:行者123 更新时间:2023-12-02 08:58:40 24 4
gpt4 key购买 nike

我遇到了使用惰性序列的帕斯卡三角形的优雅实现。

(def pascal
(iterate
(fn [prev-row]
(->>
(concat [[(first prev-row)]] (partition 2 1 prev-row) [[(last prev-row)]])
(map (partial apply +) ,,,)))
[1M]))

有人可以帮助我理解这种情况下的 ,,, 吗?我尝试使用 macroexpand 但这并没有让我走得太远。我也知道它的使用不是必需的,但我想知道 ,,, 的含义。

最佳答案

逗号在 Clojure 中被视为空格,因此 Reader 将完全忽略 ,,,。它存在的原因是为了使代码对人类来说更具可读性。

在此上下文中,->> 宏将在调用 (map .. .),即在,,,的位置。

,,,常与->->>宏一起使用,使代码更具可读性,但实际上并没有什么作用任何东西。

关于clojure - 在 Clojure 中解释惰性帕斯卡三角形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12551314/

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