我有一个函数返回一个有两个字段的结构:key:event.:event字段是一个映射(从缓存中检索的分解的Java对象).在REPL中,我将返回值视为地图.
然后,我应用,(def events (map #(make-event %) (keys events-cache)))
从缓存中为每个键应用make-event函数,并希望返回一个包含按键键入的每个事件映射的映射.
我得到的是,但在列表中.所以调用任何map函数,搜索等都会抛出错误,clojure.lang.LazySeq不能转换为clojure.lang.IFn.
我确定我认为这一切都错了,但有没有办法从列表中提取地图?
也许这就是你想要的?
(into {} (for [k (keys events-cache)]
[k (make-event k)]))
Run Code Online (Sandbox Code Playgroud)