Ich muss von einer Liste nur die Werte, die ungerade sind, so dass ich versuche, meine Liste mit Auto-und CDR-Funktionen zu brechen. Ich habe einen rekursiven Funktionsaufruf, der prüft, ob das Auto eine Liste zurückgibt, dann brich es weiter mit Auto und CDR, ansonsten übergebe einfach das erste Element an einen Funktionsaufruf, ob Odd.Wie zu brechen (11 (12 13)) mit Auto und Cdr in Scheme
Das Problem mit dem Spezialfall (10 11 (12 13)) ist, dass Wagen 10 CDRs kehren zurück (11 (12 13))
dann in zweiter Iteration Auto zurückkehrt (11 (12 13)) cdr returns (11 (12 13))
so wie kann ich meine Liste mit Auto und CDR weiter brechen. Ich muss die Klammern in meiner letzten Antwort beibehalten und nur die Liste mit ungeraden Werten von ganzen Zahlen zurückgeben.
Ich bin verwirrt, das 'Auto' von' (11 (12 13)) 'ist' 11'. Es sieht so aus, als hätten Sie einen logischen Fehler in Ihrem Programm, denn auf hohem Niveau klingt der Ansatz, den Sie beschreiben, so, wie er funktionieren würde, solange Sie vorsichtig sind, wenn Sie auf eine Liste wie zB mit '((13)) '. –