Sujet : Descending
De : No_spamming (at) *nospam* noWhere_7073.org (B. Pym)
Groupes : comp.lang.lispDate : 07. Jun 2024, 12:57:15
Autres entêtes
Organisation : A noiseless patient Spider
Message-ID : <v3up28$21qlk$1@dont-email.me>
User-Agent : XanaNews/1.18.1.6
Ken Tilton wrote:
I am having trouble coding a list traversal segment.
eg list:
>
(a (b) (c (e (h i)) (f (j))) (d (g)))
>
I want to traverse this list in "preorder" and get the following
output:
>
a b c e h i f j d g
>
anyone have a code segment to this?
>
thanks....
>
Chris.
Will this work?:
(defun dump (list-or-atom)
(if (listp list-or-atom)
(dolist (loa list-or-atom)
(dump loa))
(format t "~s " list-or-atom)))
Gauche Scheme:
(define (dump list-or-atom)
(cond ((null? list-or-atom) )
((list? list-or-atom)
(begin
(dump (car list-or-atom))
(dump (cdr list-or-atom))))
(#t (format #t ":~s " list-or-atom))))
(dump '(a (b) (c (e (h i)) (f (j))) (d (g))))
===>
:a :b :c :e :h :i :f :j :d :g #t