То, чего я пытаюсь добиться, - это выполнять функции над значением несколько раз, когда выполняются несколько условий. В частности, скажем, у нас есть две переменные a и b.
Когда a равно true, значение преобразуется функцией, связанной с a, тогда
когда b равно true, новое значение преобразуется функцией, связанной с b.
Таким образом, когда начальное значение равно 0, а функции inc
и #(+ 5 %)
, мы можем получить 0, 1, 5 или 6.
Мой подход был следующим, но безуспешно
user> (def initial-number 0)
user> (if-let [a true b true] (cond-> initial-number a inc b (#(+ 5 %))))
IllegalArgumentException clojure.core/if-let requires exactly 2 forms in binding vector in user: clojure.core/if-let (core.clj:1758)
user>