【发布时间】:2021-03-22 09:38:16
【问题描述】:
我正在尝试在 R 中实现类似于以下内容的搜索算法,该算法在嵌套的 R6 类树中搜索节点:
search = function(node){
if (private$name == node){
self
} else {
if(all(!is.na(private$list))){
for (i in 1:length(private$list)){
private$list[[i]]$search(node)
}
}
}
}
这里,搜索是 R6 类“节点”的公共功能。此类具有私有名称和其他节点的私有列表 - 因此它是嵌套树 R6 类的父节点。
问题是算法访问了正确的节点,但函数无法生成输出,因为嵌套循环没有中断,它继续循环遍历所有节点,直到它访问所有节点。使用return(self) 似乎没有什么不同。
有没有办法通过访问父级的属性等来打破外循环?
非常感谢任何帮助!
【问题讨论】:
标签: r tree nested-loops nested-lists r6