我从来没有真正想过一个符号在 Lisp 中是否可以是一个数字,所以我今天玩了一下:
> '1
1
> (+ '1 '1)
2
> (+ '1 1)
2
> (define a '1)
> (+ a 1)
2
上面的代码是scheme,但是在Common Lisp和Clojure中似乎也差不多。 1 和引用的 1 有什么区别吗?
最佳答案
在 Common Lisp 中,'1 是 (QUOTE 1) 的简写。计算时,(QUOTE something) 返回未计算的 something 部分。但是,1 个已评估和 1 个未评估之间没有区别。
所以对读者来说是有区别的:'1 读作 (QUOTE 1) 和 1 读作 1。但是在求值时没有区别。
关于lisp - Lisp 中的 1 和 '1 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2966765/