Ich versuche, Paare von 2 zu erstellen, dann subtrahiere für jedes Paar die zweite Zahl von der ersten. gewünschtes Ergebnis: (1 6 4)
Hier ist, was ich versucht habe:
%Vor%Wie kann ich das tun?
Partition erzeugt eine Sequenz von Sequenzen, so dass die Funktion, die Sie über sie abbilden, eine Sequenz von zwei Elementen erwarten muss. Es gibt mehrere Möglichkeiten, dies auszudrücken:
%Vor%Die Version, die apply verwendet, ist anders, weil sie immer noch in ungeraden Listen funktioniert:
%Vor%Die anderen werden bei ungültiger Eingabe abstürzen, was Ihnen vielleicht lieber ist.
Ich frage mich, warum diese Lösung übersehen wurde ...
Da das Umschalten der Subtraktionsordnung einfach das Negative der ursprünglichen Subtraktion ist (a-b = - (b-a)), die Lösung wird effizienter (nur in diesem speziellen Fall !!)
%Vor%Pedagogisch ist Arthurs Lösung richtig. Dies ist nur eine Lösung, die der spezifischen Frage besser entspricht.
Tags und Links clojure