将列表转换回地图地图

JPT*_*JPT 4 clojure

我有一个函数返回一个有两个字段的结构:key:event.:event字段是一个映射(从缓存中检索的分解的Java对象).在REPL中,我将返回值视为地图.

然后,我应用,(def events (map #(make-event %) (keys events-cache)))从缓存中为每个键应用make-event函数,并希望返回一个包含按键键入的每个事件映射的映射.

我得到的是,但在列表中.所以调用任何map函数,搜索等都会抛出错误,clojure.lang.LazySeq不能转换为clojure.lang.IFn.

我确定我认为这一切都错了,但有没有办法从列表中提取地图?

Jus*_*mer 7

也许这就是你想要的?

(into {} (for [k (keys events-cache)]
           [k (make-event k)]))
Run Code Online (Sandbox Code Playgroud)