gpt4 book ai didi

clojure - Clojure 中的 [] 和 '[] 有什么区别

转载 作者:行者123 更新时间:2023-12-02 16:47:59 24 4
gpt4 key购买 nike

我最近在研究Clojure,我看到人们在不同的地方使用[]、'[]、()和'()。在某些情况下,[] 和 '[] 是可以互换的。

所以我想知道这两个符号有什么不同?

最佳答案

'<expr>是扩展为 (quote <expr>) 的阅读器语法。 quote是一种特殊形式,表示“不计算此表达式,而是将其视为文字”。例如x计算结果为 x 的值,而'x计算结果为名称为 "x" 的符号.

所以'()扩展到(quote ()) ,其计算结果为 ()[] 同样如此。因此,列表和向量没有区别。

现在让我们考虑'(x) ,即(quote (x)) 。其计算结果为 (x) ,这是一个包含符号 x文字列表。获得相同结果的另一种方法是评估 (list 'x) 。相反,评估 (x)调用(或尝试调用)绑定(bind)到 x 的函数.

类似的论点也适用于 '[x][x] .

关于clojure - Clojure 中的 [] 和 '[] 有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32206933/

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