Последние пару дней я промочил Clojure и наткнулся на этот фрагмент кода:
(defn reduce-example
[new-map [key val]]
(assoc new-map key (inc val)))
(reduce reduce-example
{}
{:max 30 :min 10})
; => {:max 31, :min 11}
Я запутался в аргументе функции в reduce-example
, точнее в следующем:new-map [key value]
Из того, что я изучал до сих пор и после имени функции, вы можете объявить количество аргументов (арность). Например, [x y z]
, но что означает [new-map [key value]]
? конечно он может извлечь ключ и значение, но как? как мне интерпретировать этот аргумент функции?
Спасибо