【发布时间】:2013-08-27 18:03:05
【问题描述】:
我了解 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 。
我的问题是:可以在函数调用之间保存数据吗?上述尝试并非详尽无遗 - 也许还有另一种技术?或者,我应该简单地将值保存到磁盘吗?
谢谢
【问题讨论】:
标签: persistence opencpu