"On Lisp" : '(a b c) vs '(a b c) vs (list 'a 'b 'c)



‘(a b c)(无逗号(等于 ’(a b c)

然后说

回语列表等于列出列表的元素 引用。
也就是说,‘(a b c)(无逗号(等于(list ’a ’b ’c)

一个语句必须是错误的,因为'(a b c)(list 'a 'b 'c)似乎并不相等。后者是一个新鲜的列表(可以安全修改(,而前者是一个常数 - 或至少规格允许编译器这样对待。

所以也许这是一个非常挑剔的问题,但是像 ‘(a b c)这样的后引用列表(无逗号(等于 '(a b c)或等于 (list 'a 'b 'c)

当然(equal '(a b c) (list 'a 'b 'c))返回t,但是,正如您正确注意的那样,'(a b c)是一个引号常数,而(list 'a 'b 'c)是新鲜分配的。

相关内容

  • 没有找到相关文章

最新更新