Скажем, у меня есть карта:Clojure применить функцию преобразования для значений отображения
{:top 2.8421709430404007E-14, :left 0, :down 240, :right 400N}
Как я могу перебрать его, чтобы преобразовать все в целых числах?
{:top 0, :left 0, :down 240, :right 400}
Очевидным решением было бы:
{:top (:top m), :left (:left m), :down (:down m), :right (:right m)}
но он чувствует себя очень повторы.
Я чувствую, что функция уменьшения может здесь хорошо выглядеть, но я не знаю, как это сделать.
Просто FYI: Много много людей используют (или создать) функцию «map-vals». Например, «weavejester/medley» или «призматический/сантехнический» оба имеют эти преимущества при использовании переходных процессов. – ClojureMostly
@Andre Спасибо, если вы хотите поместить это как ответ (со ссылками/кодом, например https://github.com/weavejester/medley/blob/master/src/medley/core.cljc#L60), я бы hapilly принимаем. Я также нашел https://clojure.github.io/algo.generic/clojure.algo.generic.functor-api.html#clojure.algo.generic.functor/fmap – nha
Ваш ответ прекрасен, просто добавьте примеры, если вы хотеть. – ClojureMostly