次の形式のマップがあるとします。
(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 ))
これを達成するためのよりきちんとした(つまり、1行の)方法はありますか?