Я новичок в clojure. Попробуйте упражнение из «Clojure for Brave and True».Являются ли эти два подхода к созданию функций одинаковыми?
Цель состоит в том, чтобы сделать функцию dec9
, которая может использоваться как: (dec9 10)
будет вычитать 10 на 9 и вернуть результат.
Не могли бы вы прокомментировать, какой «производитель декментора» вы напишете, если бы вы были?
Я включаю в себя два стиля и их результат ответа.
(defn dec-maker
[num]
#(- % num))
(def dec9
(dec-maker 9))
--
user> (dec9 10)
1
--
(defn dec-maker
[num]
#(- % num))
(defn dec9
[target]
((dec-maker 9) target))
--
user> (dec9 10)
1
--
Спасибо. Я не мог видеть, что второй подход расточительно создает новую функцию каждый раз, когда вызывается dec9. – rowingRower