为什么有些人在Common Lisp中使用#'(lambda
而不只是(lambda
?是否有性能优势?
正如Peter Siebel和其他人解释的那样,在CL中,“以下LAMBDA表达式:(lambda () 42)
在它评估的上下文中出现时会扩展为以下内容:(function (lambda () 42))
”< / em>的
答案 0 :(得分:0)
除了几毫秒的编译时间和几毫秒的读取时间之外,没有性能优势:)
我认为真正的原因是一致性。如果有人写(mapcar #'myfunc ...)
(不只是(mapcar myfunc ...)
),那么写(mapcar #'(lambda ...) ...)
也很自然。