構建地圖我有一個看起來像這樣的載體:從矢量Clojure中
["Config" "{}" "Auth" "{}" "Other" "{}"]
我想借此每個鍵值對,並把它分爲以下地圖:
{"Config" "{}", "Auth" "{}", "Other" "{}"}
我如何用Clojure做到這一點?有沒有內置的函數可以做到這一點?
構建地圖我有一個看起來像這樣的載體:從矢量Clojure中
["Config" "{}" "Auth" "{}" "Other" "{}"]
我想借此每個鍵值對,並把它分爲以下地圖:
{"Config" "{}", "Auth" "{}", "Other" "{}"}
我如何用Clojure做到這一點?有沒有內置的函數可以做到這一點?
使用apply
所需類型的地圖構造函數應用到向量,即:
(apply hash-map ["Config" "{}" "Auth" "{}" "Other" "{}"])
編輯
根據this answer你可以根據你評估{}
的方式不同的地圖類型,所以使用適合您需求的地圖構造函數。
編輯
看着this通過文字{}
返回不同的對象類型似乎是一個錯誤。
謝謝,幹得好!如果讓問題持續一段時間,我不太願意接受答案,以免有人錯過某些東西。 –
「如果你想模擬」{}「確實做了什麼,可以使用'array-map'而不是'hash-map'。」正如當前實現的那樣,具有常量鍵和值的文字圖譜表達式也將被解析爲哈希映射(儘管被混淆地評估爲數組映射)。請注意,文字「{:a 1,:b 2,:c 3}」的鍵順序不受尊重(版本1.5中)。 –
@ A.Webb我被'(type x)'結果提示。爲什麼它會給出不同的價值呢?由於那個令人困惑的評估? – soulcheck
剛剛得到了答案'(apply assoc {} [「Config」「{}」「Auth」「{}」「Other」「{}」])''。有沒有更好的? –