Lisp 的新手。我知道
(mapcar #'list '(1 2) '(3 4))
会给
'((1 3) (2 4))
根据我对 apply 工作原理的理解,我希望
(apply #'(lambda (&rest x) (mapcar #'list x)) '((1 2) (3 4)))
返回相同的结果。相反,我得到
'(((1 2)) ((3 4)))
我很困惑,因为
(apply #'append '((1 2) (3 4)))
给我
'(1 2 3 4)
正如预期的那样。到底是怎么回事?