假设我有这样一个地图:
(def m {:a "A" :b "B"})
如果:a
和:b
都不是nil
,我想要执行一些操作:
(if-let [a (:a m)]
(if-let [b (:b m)]
... etc ))
或者(if (and (:a m) (:b m))
(let [{a :a b :b} m]
... etc ))
甚至还可以
(if (every? m [:a :b])
(let [{a :a b :b} m]
... etc ))
有没有更简洁(即一行代码)的方法来实现这个?
(every? some? ... )
”不是更好吗?这样你就可以避免双重否定。 - mutantacule