Clojure 从惰性序列访问数据
我正在尝试从数据库中检索数据。数据以延迟顺序返回。我可以偷看一下repl中的数据,它看起来是这样的: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
({: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}
表示的记录序列。你能有几张这样的记录吗?您希望如何将它们组合到地图/表格中?在记录中是否有一个键,您希望根据该键对其进行索引?