【发布时间】:2020-10-15 18:53:13
【问题描述】:
我正在使用 R 编写一个 R6 类函数,其中包含一个 foreach 循环。我不想将 R6 对象导出到 foreach 中——它非常大——但我确实需要使用一个调用其他函数的函数(并且我可以轻松导出该函数需要的 3-4 个变量)。假设在我的 foreach 中我需要调用一个函数 foo:
foo = function(x, y) {
z = self$goo(x)
w = z + y
return(w)
}
然后
foreach (...) %dopar% {
res = foo(v1, v2)
}
问题是,foo() 无法运行,因为它找不到 self$goo()。我可以显式导出整个堆栈,但将 foo() 的依赖项自动组合到单个函数中会更容易。我已经尝试过functional::Curry,希望curry 函数会引入所有依赖代码,但无济于事。是否与咖喱或任何其他方式有关?
【问题讨论】: