Clojure 取消引用 '(1 2 (+ 1 2))

标签 clojure

我应该如何取消引用以下内容:

(def a '(1 2 (+ 1 2)))

因此它的计算结果为:

(1 2 3)

做一个:

(def a '(1 2 ~(+ 1 2)))

在 REPL 中评估如下:

(1 2 (clojure.core/unquote (+ 1 2)))

我知道我可以做:

(list 1 2 (+ 1 2))

但我想知道是否有一些语法可以达到此目的。

最佳答案

使用`而不是'。取消引用不适用于 '

关于Clojure 取消引用 '(1 2 (+ 1 2)),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14854477/

相关文章:

解析 amotoen 的问题

clojure - 自定义定义的文档字符串

Clojure 宏 : When can a function not duplicate a macro's behaviour?

haskell - Haskell 有类似 Incanter 的东西吗?

clojure - 具有 -ve 值的 Core.logic 有限域

clojure - 绕过clojure中缺少 "hoisting"

高阶函数的 Clojure 类型提示

clojure - 在 webnoir 中以编程方式获取主机地址

clojure - 为什么归约助手在对映射进行归约时可以解构向量?

java - 在 clojure 中调用需要类作为参数的 java 方法