我的lisp函数有什么问题?

时间:2016-11-05 05:13:08

标签: lisp common-lisp

我正在编写一个名为palindrome的函数,用于测试列表是否为回文。它对于常规列表(例如(1 2 1))100%有效,但如果我使用(1(2)1),则会出现错误的参数类型错误。

这是我的功能

+-----------+--------------------+---------------------+
|   id      |       user_id      |      time           |
+-----------+--------------------+---------------------+
|   1       |       10001        | 2016-04-02 12:04:02 |
|   2       |       10001        | 2016-04-02 11:04:02 |
|   3       |       10002        | 2016-10-27 23:56:17 |
|   4       |       10001        | 2016-04-02 10:04:02 |
|   5       |       10002        | 2016-10-27 22:56:17 |
|   6       |       10002        | 2016-10-27 21:56:17 |
+-----------+--------------------+---------------------+

1 个答案:

答案 0 :(得分:1)

函数=专门用于数字。与列表或其他类型的元素一起使用时,它会返回错误。请改用eql

顺便提一下,请注意您的功能非常低效。通常(即不用于家庭作业),您将创建列表的反向副本,并将其逐元素与原始列表进行比较。