Ich brauche eine Funktion in Lisp zu machen, die eine Liste wie folgt angezeigt:Funktion in Lisp, die eine Liste in einer bestimmten Art und Weise zeigt
(a b (c d) (e f g) h) ->
(a
b
(c
d)
(e
f
g)
h)
Bisher gelang es mir, eine Funktion zu machen, die eine Liste wie diese zeigt .
(defun print1-lista(l)
(princ pard)
(do ((lst l (cdr lst)))
((null (cdr lst)) (princ (car lst)) (princ par))
(princ (car lst))
(terpri)))
PRINT1-LISTA
> (print1-lista '(1 (1 2) 3 4))
{1
(1 2)
3
4}
}
Vielleicht möchten Sie Ihre Frage neu zu formatieren, es ist schwer zu sagen, was Sie genau wollen. Auch, was Lisp verwenden Sie? –
Ich werde es sofort umformatieren. Ich benutze xlisp-stat –
Sie müssen eine rekursive Funktion schreiben. Wenn das aktuelle Element eine Liste ist, muss es die Funktion erneut mit dem Inhalt aufrufen. Und die Funktion muss den Einrückungsbetrag als Parameter erhalten. – Barmar