【发布时间】:2014-05-31 05:32:35
【问题描述】:
我在网上环顾四周,找不到我的问题的答案。 如果有人能在不降低这篇文章评分的情况下提供一个好的答案,我将不胜感激。
在 Lisp 中,car、cdr 用于像 '(whatever here) 这样的数据模式,这对我来说很有意义。
现在,在 Land of Lisp 一书中,作者正在解释如何构建文本引擎,突然他使用以下描述来制作函数。
(defun describe-location (location nodes)
(cadr (assoc location nodes)))
我能问一下他为什么要在列表上做 cadr 吗?为什么它会提供响应而不是错误?它不应该是一种数据模式,即在左括号'(whatever here)前有一个引号吗?
还有为什么他在 (assoc location nodes) 中使用 assoc 而不是 (assoc 'garden *nodes*)
第二个正确的使用方式不是assoc 吗?我可能错过了大局,因此非常感谢有人解释这些关键点。
非常感谢!
【问题讨论】:
标签: lisp common-lisp land-of-lisp