gpt4 book ai didi

clojure - 如何在 Clojure 中做到这一点?

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

我需要做以下事情:

(defn make-menu []
(对于 [i(范围 3)]
'(+ i 100)))

我需要制作菜单返回:('(+ 0 100) '(+ 1 100) '(+ 2 100))

请注意,向量包含未计算的函数。

是否可以在 Clojure 中执行此操作?

谢谢大家的帮助!

雅各布

最佳答案

(defn make-menu [] (for [i (range 3)] (list '+ i 100)))

(defn make-menu [] (for [i (range 3)] `(+ ~i 100)))

第一种形式只是一个包含三个元素的列表:符号 + 引号、计算为 for 列表推导中的值绑定(bind)的 i 和 100。

第二种形式是语法引用的例子。注意普通引用 ' 和 syntax-quote 之间的区别:第二个允许通过前缀 ~ 评估子表单。它还完全限定了符号,所以 + 变成了 clojure.core/+。普通引用只是引用引用形式中的每个子元素,因此那里不可能进行评估。

关于clojure - 如何在 Clojure 中做到这一点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14527659/

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