我是LISP的新手,正在尝试开发一些应用程序。在这里,我试图计算传递给此函数的列表中每个元素的出现次数。但不幸的是,我得到了一个"在函子位置上的非法论证"错误。有人可以帮我解决这个问题,让这个程序有效吗?任何帮助将不胜感激
(defun length1 (lst)
(let ((list1 (remove-duplicates lst)))
(cond ((null list1) 0)
(let ((number (count (car list1) lst))))
(print "Word was: ")
(print '(car list1))
(print "Number of Occurances: ")
(print number)
(length (rest lst)))))
答案 0 :(得分:0)
在Common Lisp语法中(似乎是使用的语法,而不是Scheme的语法),它的外观如下:
(defun length1 (lst)
(let ((list1 (remove-duplicates lst)))
(cond ((null list1) 0)
(t (let ((number (count (car list1) lst)))
(print "Word was: ")
(print (car list1))
(print "Number of Occurrences: ")
(print number)
(length (rest lst)))))))