我创建了一个矢量:
code_vector <- vector(mode="character", length=8)
我的目的是递归地修改这个向量(遵循Shannon-Fano算法创建可变长度代码)。
我有两个功能。用户调用“shannon_fano”,然后“shannon_fano”调用“shannon_fano_rec”来构建向量“code_vector”中的代码。
shannon_fano <-function(prob_S, D){
code_vector <- vector(mode="character", length=8)
shannon_fano_rec(...,code_vector,...)
print(code_vector) #3
}
shannon_fano_rec <-function(prob_S,D,code_vector,i,j){
#shannon_fano_rec calls itself several times
}
当函数shannon_fano_rec结束后我终于打印“code_vector”时,code_vector为空。所以很清楚,code_vector在这里并不是一个全局变量。
我做错了什么?谢谢!