Ken*_*llB 7 tree clojure zipper
我有一棵结构未知的树.首先,我想找到一个包含一串文本"Something"的节点.然后,在识别字符串在树中的位置之后,我想要更新相对于字符串位置的不同节点.数据是一个深度嵌套的地图,其中包含多个列表分支.
拉链可以吗?
我研究了这种编辑树的方法:http://www.exampler.com/blog/2010/09/01/editing-trees-in-clojure-with-clojurezip/.问题是,我事先没有知道字符串的位置.
是! 这正是设计用于拉链的任务.
zip/path找出你相对于根的位置. zip/up,zip/down,zip/left等去修改节点.zip/root以获取包含这些更改的新地图.