gpt4 book ai didi

clojure.core 取消引用和取消引用拼接

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

在 clojure.core 文件的顶部(注释和命名空间声明下方)有两个定义,没有额外的代码或信息:

(def unquote)
(def unquote-splicing)

这些有什么作用/为什么在那里?

最佳答案

它们是一种虚拟值。阅读器将 ~x 扩展为 (unquote x),并将 ~@x 扩展为 (unquote-splice x)。然后在语法引用中专门处理这些类型的列表。

它们的声明还允许在语法引用之外使用,例如在您自己的宏中。

由于它们没有绑定(bind)到任何东西,因此在语法引用或处理它们的宏之外使用它们会引发异常。

关于clojure.core 取消引用和取消引用拼接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6651677/

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