gpt4 book ai didi

r - 每次调用时增加函数内对象的值

转载 作者:行者123 更新时间:2023-12-04 22:58:53 25 4
gpt4 key购买 nike

我有一个功能说,

inc <- function(t) {
f <- 1
t + f
}

所以,第一次函数 inc被调用, f将是 1 ,但下次它被调用时 f值应该是 2当函数 inc第三次被调用 f值应该是 3等等...

我如何在 R 中做到这一点?

最佳答案

我通常用这个。我不知道这是一个技巧还是一个黑客:

getF <- function(){
x <- 1
function(t){
x <<- t + x
}
}

f <- getF()
f是一个函数( getF 的返回值),它的封闭环境不是全局环境,而是 f 所在的环境被定义。看 environment(f) . <<-分配 x进入那个环境:见 ls(environment(f))get("x", environment(f)) .
print(f(3))#4
print(f(4))#8

关于r - 每次调用时增加函数内对象的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32690044/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com