使用預設值對地圖進行解構
有時,你希望在地圖下解析金鑰,該地圖可能不在地圖中,但你希望破壞結構值的預設值。你可以這樣做:
(def my-map {:a 3 :b 4})
(let [{a :a
b :b
:keys [c d]
:or {a 1
c 2}} my-map]
(println a b c d))
;= 3 4 2 nil
有時,你希望在地圖下解析金鑰,該地圖可能不在地圖中,但你希望破壞結構值的預設值。你可以這樣做:
(def my-map {:a 3 :b 4})
(let [{a :a
b :b
:keys [c d]
:or {a 1
c 2}} my-map]
(println a b c d))
;= 3 4 2 nil