Angenommen, ich habe
(setq a 1 b 2)
Wie kann ich die Werte von aund bohne Verwendung einer temporären Variablen elegant austauschen ?
(min a b)und das zweite an binden (max a b). Dies ist eine Lösung. Einige werden argumentieren, dass dies zwei Vergleiche erfordert, wenn einer ausreicht, das ist richtig. Sie können mit einem Vergleich noch funktionaler umgehen, zum Beispiel mit destrukturierendem Binden (cl-destructuring-bind (a . b) (if (< a b) (cons a b) (cons b a)) ...). Das ist ein anderer Weg.
cl-destructuring-bindist ein lächerlich mächtiges Werkzeug für diesen Job.