我的口齿不清评估是否正确?

时间:2018-01-03 16:37:46

标签: 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)) 

1 个答案:

答案 0 :(得分:1)

这些应该让你前进:

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中进行实验是一种非常有效的方法。)