Ich habe Schwierigkeiten, meinen Kopf um eine Möglichkeit, Rekursion zu verwenden, um eine Liste erstellen und dann diese Liste für den Basisfall zurückgeben. Genauer gesagt gebe ich zwei 32-Bit-Zahlen (x1 und x2) in eine ALU ein und bewerte sie bitweise (über ALU1) und erstelle dann eine Liste der resultierenden Zahl. Mein Basisszenario für diesen Rekursionsalgorithmus ist (null? X1), aber wie kann ich zu diesem Zeitpunkt auf die resultierende Liste zugreifen? Ich weiß, dass Listen im Schema unveränderlich sind, also kann ich nicht einfach eine leere Liste erstellen und die resultierende Liste anhängen. Irgendeine Hilfe? Dies ist meine erste Aufgabe bei der funktionalen Programmierung, also danke im Voraus.Rekursion und Rückgabe einer Liste in Schema
(define ALU-helper
(lambda (selection sub x1 x2 carry-in n)
(if (null? x1)
(________?)
(cons
(ALU1 selection sub (car x1) (car x2) carry-in n)
(ALU-helper selection sub (cdr x1) (cdr x2) carry-in (- n 1))))))
Danke, natürlich wäre es so einfach!Aus irgendeinem Grund glaubte ich nicht, dass die konstruierte Liste immer noch ausgegeben würde, wenn ich etwas wie '() ausgeben würde (ich dachte, es würde nur'() ausgeben). – Vance
@Vance du bist willkommen! Wenn diese Antwort hilfreich für Sie war, denken Sie bitte daran, sie zu akzeptieren. –