[英]Scheme: CAR and CDR of a list
我很困惑,如何car
和cdr
上列出的工作。 這是我嘗試過的一個例子:
(define sample (read))
(display sample)
(display (car sample))
(display (cdr sample))
(display (car (cadr sample)))
(display (cdr (cdr sample)))
在輸入值'(ABCDEF)
,我得到的是:
'(a b c d e f)
quote
((a b c d e f))
a
()
我無法理解quote
如何成為sample
car
。 另外,為什么(cdr sample)
輸出((abcdef))
?
語言:DrScheme - R5RS - Scheme
如果你只想輸入列表(abcdef)
,你應該輸入(abcdef)
。 而你輸入的是(quote (abcdef))
因為'
運算符是(quote ...)
縮寫。
你的列表字面上有第一個元素quote
和第二個元素(abcdef)
。 當然,在編寫源代碼時,需要使用quote
來防止執行S表達式。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.