Załóżmy, że mam
(setq a 1 b 2)
Jak mogę elegancko zamienić wartości ai bbez użycia zmiennej tymczasowej?
(min a b)drugim (max a b). To jest jedno rozwiązanie. Niektórzy twierdzą, że wymaga to dwóch porównań, gdy jedno wystarczy, to prawda. Możesz sobie z tym poradzić za pomocą jednego porównania w bardziej funkcjonalny sposób, na przykład używając wiązania restrukturyzacji (cl-destructuring-bind (a . b) (if (< a b) (cons a b) (cons b a)) ...). To jest inny sposób.
cl-destructuring-bindjest absurdalnie potężnym narzędziem do tego zadania.