我似乎对什么构成 R 中的良好实践深感困惑。假设我有以下 R 代码:
f<-function()
{
g<-function(s)
{
b<-b+1
s<-s+5
}
b<-10
g(2)
return(b)
}
在任何典型的语言中,这将始终返回 b=10 并且据我所知,让 f 认识到 g 正在修改 b 的典型方法是使用全局变量。但是,据我所知,R 中的常见做法似乎是尽可能避免使用全局变量。这让我问,我应该如何修改 f 使其输出 b=11 而不使用任何全局变量?我似乎要么有一个非常深刻的误解,要么对一个非常重要的想法一无所知。