Ich habe die folgende variadische Funktion (define doSomething (lambda (x . rest) ...
. Die Funktion wird durch Zahlen aufgerufen, zum Beispiel: (doSomething 1 2 3 4 5)
(also mit diesem Aufruf wäre x
1
und rest
wäre (2 3 4 5)
).
Wenn ich versuche, die Funktion rekursiv aufzurufen und die zweite Zahl (2
) als x
und rest
als (3 4 5)
zu setzen, erhalte ich irgendwie den rest
Parameter als eine Liste von Listen: ((3 4 5))
.
So versuche ich derzeit die Funktion erneut aufzurufen: (+ x (doSomething (car rest) (cdr rest)))
Es ist erwähnenswert, dass ich Pretty Big
benutze. Bitte beraten Sie mich, danke.