(define (equal? x y)
(cond ((and (null? x) (null? y)) true)
((and (not (pair? x)) (not (pair? y))) (eq? x y))
((and (pair? x) (pair? y)
(equal? (car x) (car y))
(equal? (cdr x) (cdr y)))
true)
(else false)))
(equal? '(this is a list) '(this is a list))
(equal? '(this is a list) '(this (is a) list))
(equal? '(1 2 3 (4 5) 6) '(1 2 3 (4 5) 6))
(equal? '(1 2 3 (4 5) 6) '(1 2 3 (4 5 7) 6))sicp excercise 2.54
最新推荐文章于 2018-11-10 15:34:18 发布
本文介绍了一种在Scheme语言中实现等号比较的具体方法。该方法能够对比两个列表是否完全相同,包括列表的结构与内容。通过递归的方式检查每一个元素,并确保它们在类型与值上都一致。
719

被折叠的 条评论
为什么被折叠?



