[英]In newLISP, quote is different from '?
我開始學習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
更像原始Lisp quote
。 '
是代碼轉換期間執行的優化。 如果您想了解有關代碼轉換和評估的更多信息,請比較函數read-expr
和eval-string
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.