我刚刚开始使用Lisp,我正试图在内部使用funcall。
这就是我要做的事情:
(cons '(1 2 3) '(1 (funcall #'rest '(a b)) ))
结果应为:
((1 2 3) 1 (b))
我知道这有效:
(cons '(1 2 3) (funcall #'rest '(a b)))
我已经尝试了这个并且它不起作用
(cons '(1 2 3) `,'(1 (funcall #'rest '(a b)) ))
(cons '(1 2 3) '(1 (apply 'rest '(a b))))
(cons '(1 2 3) '(1 `,(apply 'rest '(a b))))
提前致谢。
答案 0 :(得分:3)
当您引用列表时,所有内容都会在列表中引用,因此没有函数调用。你可以达到你想要的效果:
[1]> (cons '(1 2 3) (list 1 (funcall #'rest '(a b)) ))
((1 2 3) 1 (B))
[2]>
答案 1 :(得分:3)
(cons '(1 2 3) `(1 ,(funcall #'rest '(a b))))