Decir que tengo un mapa de esta forma:mejor manera de nido si alquilar en clojure
(def m {:a "A" :b "B"})
y quiero hacer algo si :a
y :b
son ambos no nula, lo que puedo hacer:
(if-let [a (:a m)]
(if-let [b (:b m)]
... etc))
o
(if (and (:a m) (:b m))
(let [{a :a b :b} m]
... etc))
o incluso
(if (every? m [:a :b])
(let [{a :a b :b} m]
... etc))
¿Existe una forma más ordenada (es decir, una línea) de lograr esto?
No estoy seguro que responde a la pregunta ... – noahlz
would not '(every? some? ...)' ser mejor? de esa manera usted podría evitar la doble negación – kosii
not-any? puede dejar de verificar cuando se encuentra uno, por una leve mejora de tiempo en muchos casos –