Emp Lis里面的Funcall

时间:2013-04-19 20:50:21

标签: common-lisp

我刚刚开始使用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))))

提前致谢。

2 个答案:

答案 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))))