gpt4 book ai didi

scala - 如何迭代 Scalaz 中的树

转载 作者:行者123 更新时间:2023-12-01 12:30:30 24 4
gpt4 key购买 nike

Scalaz 树类通过 TreeLoc 证明了看似非常有用的“ zipper ”功能 (Javadoc) .

但是,我不清楚如何轻松地遍历一棵树(例如,在一棵包含总共 n>k 个节点的树中找到“第 k 个”节点),而不对是否进行大量条件对冲zipper 在当前 child 列表的末尾。

有没有一种我缺少的简单方法可以做到这一点?

最佳答案

TreeLoc.find 窃取方法,你可以这样做:

  def findAt[A](tree: TreeLoc[A], k: Int): Option[TreeLoc[A]] = {
Cobind[TreeLoc].cojoin(tree).tree.flatten.drop(k).headOption
}

关于scala - 如何迭代 Scalaz 中的树,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34518159/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com