Lisp 错误:<;的空字符;输入级联流>;

Lisp 错误:<;的空字符;输入级联流>;,lisp,Lisp,编辑:解决了最初的问题。现在它说没有函数sel2,我不知道为什么它认为我在调用一个函数,而sel2是一个列表。对我来说,它看起来像是一个列表 我觉得我在做一些愚蠢的事情,但我一辈子都搞不懂。我应该制作一个反转列表的函数(可以使用反转函数)和一个检测列表是否包含回文的函数。到目前为止,我已经: (defun Myreverse (sel) (return-from Myreverse (reverse sel)) ) (defun Palindrome (sel2) (if

编辑:解决了最初的问题。现在它说没有函数sel2,我不知道为什么它认为我在调用一个函数,而sel2是一个列表。对我来说,它看起来像是一个列表

我觉得我在做一些愚蠢的事情,但我一辈子都搞不懂。我应该制作一个反转列表的函数(可以使用反转函数)和一个检测列表是否包含回文的函数。到目前为止,我已经:

 (defun Myreverse (sel)

    (return-from Myreverse (reverse sel))
)

(defun Palindrome (sel2)
    (if (= sel2 (reverse (sel2)))
        (return-from Palindrome (write "Yes"))
    )
    (write "No")
)

(Myreverse '(1 2 3 4))
有人知道我做错了什么吗?如果有,你能给我指出正确的方向吗

READ from #<INPUT CONCATENATED-STREAM #<INPUT UNBUFFERED FILE-STREAM CHARACTER @7>>: illegal character #\Null
从#读取:非法字符#\Null

非常感谢。

根据上面的评论解决了我自己的问题。还解决了函数调用问题

新代码:

(defun Myreverse (sel)

    (reverse sel)
)

(defun Palindrome (pal)
    (equal pal (reverse pal))
)

很难说你做错了什么,因为你没有告诉我们你在做什么。有一些代码和一条消息。但是你做了什么?谁在打印那条消息?我将代码复制并粘贴到lisp控制台中,我说了我在做什么…我正在做两个函数并调用其中一个(myreverse).什么是“Lisp控制台”?最好向我们展示输入和输出。我们不能总是猜测您使用什么以及如何使用它…您可能还需要检查函数回文中SEL2的使用情况。您将其作为函数SEL2调用-为什么?变量REV未在任何地方声明。它未定义。也不需要。