我是R的初学者,所以请原谅我是否有关于R的关键编程结构,我不理解。
我有以下代码:
tab_level <- 0
print_tree <- function (node_index) {
cat (tab_level)
cat ("\n")
# Past the tree domain
if (node_index >= 2^depth ) {
tab_level <- tab_level - 1
cat ("\n")
return()
}
# Print the value in the node
# Tabs
#cat(node_index)
for (i in 0:tab_level) {
cat("\t")
}
tab_level <- tab_level + 1
print_tree(2*node_index)
print_tree(2*node_index + 1)
}
print_tree (1)
但是,当我这样做并读取cat
输出时,tab_level在输出中每次都为0。我是否正确理解R,以及它如何与变量范围一起工作?我来自Java背景,如果这有帮助的话,我假设它与Java类似。