Clojure: 针对html的zipper

4

试了几天,终于明白如何从顺序数据中创建拉链。

然而,在搜索了几天后,我似乎找不到任何将拉链转换为其他格式的资源。基本上,我想将一些数据转换为一种格式,以便将其传递给Hiccup生成一些HTML。

有没有好的资源告诉我应该如何将拉链树转换为不同的数据结构?

1个回答

2

我认为你的理解是反过来了,但这其实是一件好事。使用zipper的方法是创建一个适用于你的数据结构的zipper,而不是反过来。 Hickory 是一个很好的例子。 这个 是一个使用map而不是序列的zipper的好例子。


嗯,我使用了一个拉链(zipper)因为我认为这是一种快速转换10,000多个串行记录(数据库查询结果,具有parent_id以识别父项)为树形结构的方法,然后我可以使用Hiccup(或任何模板系统)将该树转换为HTML。是否有一种快速的方法来做到这一点——可能使用group-by或其他什么东西? - Sean Hagen
为什么不直接将数据库记录转换为hiccup,而不使用zippers呢? (html (apply vector :ul (map #(vector :li (:name %)) db-records))) - edbond
因为我希望数据库记录显示为嵌套评论(Reddit风格),而不仅仅是单个流 - 或者那个(apply vector &)是否处理将它们转换为树形结构? - Sean Hagen

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接