Я написал простую функцию в Clojure, которая может анализировать XML: (defn filter-tags [xml & selectors]
(if (and (seq selectors) (seq xml))
(recur
(->>
xml
(filter #(=
В соответствии с документацией MSDN при записи рекурсивной функции использование аргумента аккумулятора делает функцию tail рекурсивной, что экономит пространство стека. Я использую два примера, приве
Есть ли способ определить функцию в Clojure, которая автоматически оптимизируется с помощью хвоста? например. (defrecur fact [x]
(if (= x 1)
1
(* x (fact (dec x)))))
будет переведен
Предположим, у меня есть эта функция, в псевдокоде, что обратный список: def function reverse(list) :
if (empty(list))
return empty_list;
else
return append(
reverse(list(2, lenght)