1
我不能使用所有的lambda函数,因为我得到这个错误: 应用/ funcall的参数不是一个函数:(LAMBDA(E)(COUNT_ATOMS M E))。如何在LISP中定义LAMBDA函数?
而且代码:
> (DEFUN count_atoms (m l)
> (COND ((ATOM l) (COND ((EQUAL m l) 1)
> (t 0)))
> (t (APPLY '+
> (MAPCAR '(LAMBDA (e) (count_atoms m e))
> l)))))
对于
(count_atoms 3 '((3 3) 3 (4 4) 5))
它应该打印3
这里有什么问题?
哈哈完美!谢谢一堆! – Alex 2015-04-04 22:17:25
@WillNess:您应该将其作为答案发布,而不是评论。 – b4hand 2015-04-04 22:34:01