Есть ли идиоматический/встроенный способ перевернуть порядок аргументов, который передается функции в Clojure?flip порядок переданных аргументов
Как я здесь с определением вспомогательной функции:
(defn flip [f & xs]
(apply f (reverse xs)))
(vector 1 2) ; [1 2]
(flip vector 1 2) ; [2 1]
Да, есть! Вы написали это в своем вопросе. Я не совсем уверен, где это было бы полезно. Не могли бы вы привести практический пример? –
Я работаю с 2d-вектором, скажем, сеткой с x и осью y. Тогда у меня есть функция, работающая на этой сетке: эта функция работает с непрерывной последовательностью полей в сетке, иногда вертикально, иногда горизонтально. Чтобы функция не беспокоилась о осях, я передаю ей (частичный вектор) или (частичный флип-вектор). через эту подфункцию функция может работать на сетке более абстрактным образом. –
такой же эффект произошел бы, если бы я поменял оси x и y в сетке, когда мне это нужно. Mh, я не уверен, что это было хорошо объяснено ... –