Ich versuche, das kleinste gemeinsame Vielfache für alle Zahlen von 1 bis n wie in OEIS-A003418 beschrieben zu generieren. Im DrRacket REPL verwende ich den folgenden Code:Übergeben einer Liste an eine Funktion mit mehreren Funktionen in DrRacket (Scheme)
(lcm (apply values (build-list 256 add1)))
Was mich ein "Ergebnis arity Mismatch" Fehler gibt (1 erwartet, erhielt 256). Wenn ich lcm
weglasse, erhalte ich eine Sequenz von 1 bis 256 zur Konsole. Ich bin unsicher bezüglich der Ursache der Arity Mismatch, da lcm
angeblich beliebig viele Argumente annehmen kann (nach the docs), und apply
scheint zu tun, was ich erwarten würde, wenn es die äußerste Funktion ist und nicht ein Eingabe in lcm
. Was vermisse ich? Auch wenn es eine einfachere Möglichkeit gibt, das LCM von 1 in n zu schreiben, können Sie es gerne teilen.
Ah. Ich sehe, dass ich falsch verstanden habe, wie Anwendung angewendet wird. Vielen Dank! – hatch22