我的lisp评估正确吗?

我的lisp评估正确吗?,lisp,Lisp,我知道我的答案完全错了,我想知道我如何才能得到答案。我做错了什么 X = (setf X '(88 ((11 21 31 41)) (90 91 92 93))) 我必须编写LISP表达式,其计算结果如下: (11 (11 21 31 41) (88 90 91 92 93)) 我的答覆是: (list (caadr X) (cdddr X)) 这些应该会让你走起来: CL-USER> (cadr X) ((11 21 31 41)) CL-USER> (caadr X) (

我知道我的答案完全错了,我想知道我如何才能得到答案。我做错了什么

X = (setf X '(88 ((11 21 31 41)) (90 91 92 93)))
我必须编写LISP表达式,其计算结果如下:

(11 (11 21 31 41) (88 90 91 92 93))
我的答覆是:

(list (caadr X) (cdddr X)) 

这些应该会让你走起来:

CL-USER> (cadr X)
((11 21 31 41))
CL-USER> (caadr X)
(11 21 31 41)
CL-USER> (caaadr X)
11
CL-USER> (cons (caaadr X) (cadr X))
(11 (11 21 31 41))
CL-USER> (caddr X)
(90 91 92 93)
CL-USER> (car X)
88
CL-USER> (cons (car X) (caddr X))
(88 90 91 92 93)

(在REPL中进行实验是发现问题的非常有效的方法。)

啊,好的。您可以给我链接一个有REPL online for LISP的站点吗?@obsolutemal,但您可以轻松下载LISP并开始脱机操作(sbcl和ccl在linux和windows中都可以工作)是否可以使用list而不是cons?我不知道什么时候使用。@obsolutemal
(cons a b)
a
b
的一对<代码>(列表a b)是一个包含
a
b
的列表–它是
(cons a(cons b nil))
。(例如,Lisp上有一些很好的免费资料在线提供。)