相关疑难解决方法(0)

常见的lisp错误:"应该是lambda表达式"

我刚刚开始学习Common Lisp,我正在尝试构建一个将数字插入树中的函数.我收到一个错误,

*** - SYSTEM ::%EXPAND-FORM :( CONS NIL LST)应该是lambda表达式

从谷歌搜索,似乎这种情况发生在你有太多的括号集,但看了一个小时左右,并改变了周围的事情,我无法弄清楚我可以做到这一点.

这是它发生的代码:

(defun insert (lst probe)
    (cond ((null lst) (cons probe lst))
        ((equal (length lst) 1)
            (if (<= probe (first lst))
                (cons probe lst)
                (append lst (list probe))))
        ((equal (length lst) 2)
            ((cons nil lst) (append lst nil) (insertat nil lst 3)
                (cond ((<= probe (second lst)) (insert (first lst) probe))
                     ((> probe (fourth lst)) (insert (fifth lst) probe))
                     (t (insert (third lst) probe)))))))
Run Code Online (Sandbox Code Playgroud)

我很确定它发生在((等于(长度为lst)2)之后,其中的想法是在现有列表中插入一个空列表,然后在末尾附加一个空列表,然后在中间插入一个空列表.

lisp common-lisp syntax-error

9
推荐指数
2
解决办法
2万
查看次数

标签 统计

common-lisp ×1

lisp ×1

syntax-error ×1