在 newLISP 中,引用不同于 '?



我开始学习newlisp,但引用和'让我感到困惑。

> (= '(quote 1) ''1)  
nil

> (first (quote (quote 1)))  
quote
> (first ''1)  
ERR: array, list or string expected in function first : ''1

在Newlisp中,quote 不同于 ' ?
或者,这是一个错误?

两者之间有一个微妙的区别。单引号在源代码转换期间解析,当引用的单元格包装到保护信封中时。该函数quote执行相同的操作,但在评估期间。在大多数情况下,它们的行为方式相同。

所以函数quote更像是原来的Lisp quote'是在代码转换期间执行的优化。如果您想了解有关代码转换和评估的更多信息,请比较函数read-expreval-string

相关内容

  • 没有找到相关文章

最新更新