我有一個嵌套的列表結構,我正在使用它作爲類的基礎。每個類對象都可以包含另一個類對象的實例,它將用於鏈接一系列命令。我試圖重載+
運算符,以便能夠迭代地建立一組命令。這需要找到「最深」的命令並附加到它。這是我沒有任何運氣的地方。追加到任意嵌套列表
# an aribitrarily nested list
tmp <- list(x = list(x = list(x = list())))
# find deepest 'x'
last.x <- function(e) {
while(!is.null(e$x)){
e <- e$x
}
return(e)
}
# I need to be able to append to the deepest 'x' in the list. Ideally:
last.x(tmp)$x <- list()
其產生錯誤:
Error in last.x(tmp)[["x"]] <- list() :
could not find function "last.x<-"
我正在尋找某種方式通過引用來訪問「最深的」 x和孩子追加到它。