Ich versuche, eine Funktion in Schema zu machen, die rekursiv Werte auf eine leere Liste hinzufügt.Scheme - Hinzufügen von Werten zur Liste rekursiv
Ich habe eine leere Liste definiert:
(define empty '())
Und ich habe eine Funktion definiert, die Werte zur Liste hinzufügen sollte:
(define (recapp empt x)
(if (= 0 x)
empt
(begin
(append empt x)
(recapp empt (- x 1)))))
Als ich nach Schema (recapp leer 5) Ich betrete bekomme eine leere Liste, obwohl ich gerne hätte (1 2 3 4 5). Was ist das Problem?
Dank für die Unterstützung aus.
'Iota' ist eigentlich kein Primitiv. Es wird von SRFI 1 zur Verfügung gestellt. Racket zum Beispiel stellt 'range' zur Verfügung (mit einer anderen Argumentreihenfolge als' iota'). –
Danke !! Leider kann ich deine Antwort noch nicht nach oben abstimmen: / – Leero11