在我的程序中,我递归地遍历一个嵌套列表并将元素添加到我将返回的整个列表中。有一些细节需要注意,所以我不能只使用unlist
.
formulaPart
被视为一个公式对象。
我的代码是:
parseVariables <- function(formulaPart, myList){
for(currentVar in as.list(formulaPart))
if(typeof(currentVar == 'language'
parseVariables(currentVar, myList)
else
if(! toString(currentVar) %in% c(\\various characters)
list <- c(list, currentVar)
}
我已经检查了该函数是否正确地将元素添加到列表中。问题是列表由于递归而丢失了元素。在一次内部递归调用期间添加的元素不会保存用于另一次递归调用。
如果这是在 C++ 中,我可以只使用一个指针;Java 也是如此。但是,我不明白如何在 R 中处理这个错误。