我一直致力于以下功能展平,到目前为止它只适用于列表.我想知道是否有人可以提供一些有关如何使用它的工作的见解?例如(flatten'(a .a))将返回(aa).谢谢.
(define (flatten list)
(cond ((null? list) null)
((list? (car list)) (append (flatten (car list)) (flatten (cdr list))))
(else
(cons (car list) (flatten (cdr list))))))
Run Code Online (Sandbox Code Playgroud)
这是一个选项:
(define (flatten x)
(cond ((null? x) '())
((pair? x) (append (flatten (car x)) (flatten (cdr x))))
(else (list x))))
Run Code Online (Sandbox Code Playgroud)