我對Clojure中的以下代碼感到困惑。代碼起作用。不過,我不明白的是,匿名函數中,當我們通過在參數[new-map [key val]]
,我們明確地告訴Clojure的期望在矢量形式的[key val]
和解構它但我們傳遞一個參數hash{:max 30 :min 10}
。我根本沒有意義。爲什麼在幫助減少地圖時減少助手解構矢量?
如果我們要傳遞一個散列到函數中,參數是不是應該是[new-map {:key val}]
?有人可以向我解釋我的邏輯出錯了嗎?
(reduce (fn [new-map [key val]]
(assoc new-map key (inc val)))
{}
{:max 30 :min 10})