2024 年 Clojure 状况调查! 中分享您的想法。

欢迎!请访问 关于 页面以获取更多关于如何使用本站的信息。

0票数
Transducers

大家好。我是 Clojure 的新手。这是我第一次发帖。我会尽量简洁。我不知道这个函数为什么不起作用。

(def countToFive
  (reduce
    (fn [acc x] (into acc [(+ x (last acc))]))
    [1]
    [1 1 1 1]
    )
  )

正如其名所暗示的,它应该是数到五。

感谢任何可以解释的人。

2 个回答

+2票数

"...为什么这个函数不起作用。" 简短的回答:它不是一个函数。"def" 只是将符号绑定到包含形式的求解结果。

如果您想有一个函数,可以将第一行更改为

(defn countToFive []
哦我的天呀。我的问题是我在做 (println (countToFive)) 而不是仅仅 (println countToFive)。我花了好几个小时盯着这个定义在那种愚蠢的问题上。THANKS GUYZ。
对于这类问题,加入 Clojurians Slack 并在 #beginners 频道提问将帮助你获得实时答案,比在“提问”论坛上寻求答案要快得多。您可以通过以下链接加入:https://join.slack.com/t/clojurians/shared_invite/zt-fvf7u6mr-HtHPDF6G3vIV8WfkEXfBaw ——只需要输入您的电子邮件地址(忽略关于工作的事情!),它就会发送一个链接以完成注册。
+1 投票

这将生成 [1 2 3 4 5] ——你试图生成什么?

...