Clojure 从惰性序列访问数据

Clojure 从惰性序列访问数据,clojure,Clojure,我正在尝试从数据库中检索数据。数据以延迟顺序返回。我可以偷看一下repl中的数据,它看起来是这样的: ({:foo value1, :bar value2}) 如何获取这些数据?最好,我怎样才能把它变成地图?我试过: (doall序列(get序列:foo)) 它只返回零。及 (apply hash-map user-settings) 返回 llegalArgumentException No value supplied for key: {:foo value1, :bar value2

我正在尝试从数据库中检索数据。数据以延迟顺序返回。我可以偷看一下repl中的数据,它看起来是这样的:

({:foo value1, :bar value2})
如何获取这些数据?最好,我怎样才能把它变成地图?我试过:

(doall序列(get序列:foo)) 它只返回零。及

(apply hash-map user-settings)
返回

llegalArgumentException No value supplied for key: {:foo value1, :bar value2} clojure.lang.PersistentHashMap.create (PersistentHashMap.java:77)

我对clojure很陌生,在这方面我已经坚持太久了。提前谢谢

您已经有了一张地图,它恰好是您列表中的唯一项目

(def data (first '({:foo 123 :bar 456})))

(:foo data)  ; => 123

有时,当您想要打印惰性seq以查看数据时,请使用
进入
。例如,如果您想查看惰性向量的内容,请使用
(进入[]您的惰性向量)
(进入{}您的惰性映射)

您可以在println函数或let中执行此非制冷转换。但是,我建议在释放或拉取请求之前删除此类调试帮助

大多数情况下,惰性序列都很好

数据是以一个惰性序列返回的-一个什么样的惰性序列?您有一个由map
{:foo value1,:bar value2}
表示的记录序列。你能有几张这样的记录吗?您希望如何将它们组合到地图/表格中?在记录中是否有一个键,您希望根据该键对其进行索引?