Clojure 我可以使整个数据结构暂时/持久化吗?
从中可以看出,调用Clojure 我可以使整个数据结构暂时/持久化吗?,clojure,Clojure,从中可以看出,调用transient和persistent仅作用于该集合对象(向量、哈希映射或哈希集) 如果我有一个对象树,有没有一种方法可以递归地获取整个结构的临时副本?然后将整个结构转回?正如@Alex所说,您需要使用自己的函数来遍历数据结构。还要注意的是,在中没有assoc与assoc in并行,这意味着如果你想assoc in到嵌套的数据结构中,你可能最终也会将你自己的版本滚动到嵌套的数据结构中。如果你将此作为一个答案发布,我将完全投赞成票,你可能必须使用clojure.walk/pos
transient
和persistent数据结构上的代码>仅作用于该集合对象(向量、哈希映射或哈希集)
如果我有一个对象树,有没有一种方法可以递归地获取整个结构的临时副本?然后将整个结构转回?正如@Alex所说,您需要使用自己的函数来遍历数据结构。还要注意的是,在中没有assoc代码>与assoc in
并行,这意味着如果你想assoc in
到嵌套的数据结构中,你可能最终也会将你自己的版本滚动到嵌套的数据结构中。如果你将此作为一个答案发布,我将完全投赞成票,你可能必须使用clojure.walk/postwall
@Alex滚动你自己的版本it@ArthurUlfeldt原来clojure.walk对瞬变不起作用。所以你真的得自己动手了。