我知道 OpenCPU 的接口是 RESTful 的。不过,如果可能的话,我想在函数调用之间保存数据。
我天真地创建了以下包:
vals <- c()
fnInit <- function() {
vals <<- c('a','b','c')
}
但我得到了错误:当我调用 fnInit 函数时,无法更改“vals”的锁定绑定的值。我明白为什么会这样。
然后我尝试了:
fnBoth <- local({
vals <- c('a','b','c')
function(which) {
if (which == 0) {
vals
} else if (which == 1) {
vals <<- c(vals,'d')
vals
}
}
})
但每次我发布到 = 1 的 fnBoth 函数时,我都会得到相同的响应:[1]“a”“b”“c”“d”
如果我再次调用该函数,我会得到相同的答案。因此,似乎值 vals 每次都被重置。
我的问题是:可以在函数调用之间保存数据吗?上述尝试并非详尽无遗 - 也许还有另一种技术?或者,我应该简单地将值保存到磁盘吗?
谢谢