函子位置的非法论证 - 可能的括号问题

时间:2015-04-08 21:40:14

标签: common-lisp

我是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)))))

1 个答案:

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