【发布时间】:2014-07-27 04:15:36
【问题描述】:
我在 Common Lisp 中使用 mapcar,并且我看到了在 + 前面使用 #' 和 ' 的示例,但它们似乎都做同样的事情。使用哪个重要吗?
CL-USER> (mapcar '+ '(1 2) '(2 3))
(3 5)
CL-USER> (mapcar #'+ '(1 2) '(2 3))
(3 5)
【问题讨论】:
-
标记为重复的问题包括一堆关于读取宏的讨论(这很好,但比这里需要的要多一些)。简短的回答是mapcar 的文档说它需要一个function designator,词汇表说它是“一个符号(表示在全局环境中由该符号命名的函数),或者一个函数(表示它自己)。”
'+给出符号,#'+给出函数。
标签: common-lisp