从Clojure中的向量构造映射

从Clojure中的向量构造映射,clojure,Clojure,我有一个向量,看起来像这样: ["Config" "{}" "Auth" "{}" "Other" "{}"] 我想将每个键值对转换为以下映射: {"Config" "{}", "Auth" "{}", "Other" "{}"} 我怎样才能用Clojure做到这一点?是否有内置函数可以执行此操作?用于将所需类型的映射构造函数应用于向量,即: (apply hash-map ["Config" "{}" "Auth" "{}" "Other" "{}"]) 编辑 根据,您可以获得不同的映射

我有一个向量,看起来像这样:

["Config" "{}" "Auth" "{}" "Other" "{}"]
我想将每个键值对转换为以下映射:

{"Config" "{}", "Auth" "{}", "Other" "{}"}
我怎样才能用Clojure做到这一点?是否有内置函数可以执行此操作?

用于将所需类型的映射构造函数应用于向量,即:

(apply hash-map ["Config" "{}" "Auth" "{}" "Other" "{}"])
编辑

根据,您可以获得不同的映射类型,具体取决于您计算
{}
的方式,因此请使用适合您需要的映射构造函数

编辑


查看literal
{}
返回的不同对象类型似乎是一个错误。

刚刚得到一个答案,
(应用assoc{}[“Config”“{}”“Auth”“{}”“Other”“{}]”)
。还有更好的吗?谢谢,干得好!把问题留长一点,我不喜欢过早地接受答案,以防有人遗漏了什么。“如果您想准确地模拟
{}
所做的事情,请使用
数组映射
,而不是当前实现的
哈希映射
”,即文字映射
{}
带有常量键和值的表达式也将被解析为哈希映射(尽管容易混淆地被评估为数组映射)。请注意,文本
{:a1,:b2,:c3}
的键顺序不受尊重(在版本1.5中)。@a.Webb I是由
(type x)
结果建议的。那么为什么它会给出不同的值呢?由于这种令人困惑的评估?@A.Webb您是对的,它确实被评估为数组映射。编辑了答案。这种行为有什么原因吗?试试
(defm{:a1:b2:c3})
。然后,
(键入m);=>clojure.lang.PersistentHashMap
,但
(类型(eval m));=>clojure.lang.PersistentArrayMap
。和
(秒m)=>[:c3]
。我不相信这是故意的。