gpt4 book ai didi

clojure - 如何向通过 Clojure 中的 def 定义的序列添加元/注释?

转载 作者:行者123 更新时间:2023-12-04 23:31:32 25 4
gpt4 key购买 nike

我不得不注释掉下面的行(示例来自 http://en.wikibooks.org/wiki/Clojure_Programming/Examples/Lazy_Fibonacci)

(def fib-seq
;"Implements Fibonacci sequence (starts with 0)."
((fn rfib [a b]
(lazy-seq (cons a (rfib b (+ a b)))))
0 1))

如果我把它留在里面,我会得到:
Clojure 1.2.0
java.lang.Exception: Too many arguments to def (Problem1.clj:1)
1:1 user=>

我可以用 defn 做到这一点, 然而。示例(我知道,我正在重新发明轮子, even? 已经定义):
(defn is-even? [n]
"Returns true if the number is even, false otherwise."
(== (mod n 2) 0))


Clojure 1.2.0
1:1 user=> (is-even? 3)
false
1:2 user=> (is-even? 4)
true
1:3 user=>

最佳答案

这个问题已经在 Clojure 1.3 的新 alpha 版本中“修复”,其中 def 支持可选的文档字符串。

user> (clojure-version)
"1.3.0-alpha3"

user> (def answer "the answer to the final question" 42)
#'user/answer

user> (doc answer)
-------------------------
user/answer
nil
the answer to the final question
nil

关于clojure - 如何向通过 Clojure 中的 def 定义的序列添加元/注释?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4417967/

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