В настоящее время у меня есть некоторый код, подобный этому:
(defn compute-issue [some args] (or (age-issue some args) (name-issue some args)))
Будут и другие типы проблем. Есть ли что-то вроде этого:
(defn compute-issue [some args] (first-not-nil [age-issue name-issue] some args))
; Where first-not-nil would be something like
(defn first-not-nil [fs & args]
(if (empty? fs)
nil
(let [result (apply (first fs) args)]
(if (nil? result)
(recur (rest fs) args)
result))))
Я новичок в Clojure. Я заново изобретаю существующую функцию?