0
我有些東西會返回元素列表,但有時元素列表也是元素列表。這列表中的球拍列表元素
例子是:
(1 2 3 (4 5) (6 7 (8)))
我似乎無法編寫一個能夠將其轉換成與剛剛元素列表的功能。
(1 2 3 4 5 6 7 8)
我有些東西會返回元素列表,但有時元素列表也是元素列表。這列表中的球拍列表元素
例子是:
(1 2 3 (4 5) (6 7 (8)))
我似乎無法編寫一個能夠將其轉換成與剛剛元素列表的功能。
(1 2 3 4 5 6 7 8)
下面是原來的海報來到了,任何人一旦發生這個問題的利益答案:
(define (test expresssion)
(cond ((empty? expresssion) null)
((not (list? expresssion)) (list expresssion))
(else (append (test (first expresssion))
(test (rest expresssion))))))
(test '(A (B (C) D) A)) ; => '(A B C D A)
您所描述的過程,通常稱爲'flatten'。它是Racket的一部分,並且在Stack Overflow中已經討論過[之前](http://stackoverflow.com/questions/8387583/writing-flatten-method-in-scheme)。 –
您應該將您的解決方案作爲答案發布,然後接受它,以便人們知道它已被解決。 –
我將你想出的答案移到了答案上。 –