Cómo usar juxt en Clojure – Resuelto

La función juxt en Clojure se utiliza para crear una nueva función que aplica varias funciones a un valor y devuelve los resultados en una lista. Es útil cuando necesitamos aplicar varias transformaciones a un solo valor.

Uso básico de juxt

Podemos usar juxt para aplicar múltiples funciones a un valor de la siguiente manera:

(let [f (juxt inc dec)] (f 5)) ;; (6 4)

En este ejemplo, hemos creado una función f que aplica inc y dec a un valor. Cuando la aplicamos a 5, obtenemos el resultado (6 4).

Uso avanzado de juxt

También podemos usar juxt con funciones más complejas para realizar múltiples transformaciones a un valor en un solo paso:

(let [f (juxt (fn [x] (* x 2)) (fn [x] (+ x 3)))] (f 4)) ;; (8 7)