使用 curry 导出依赖到 foreach

Using curry to export dependencies to foreach

我正在使用 R 编写一个 R6 class 函数,里面有一个 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,希望 curried 函数能够引入所有相关代码,但无济于事。有什么办法可以用咖喱或其他方式吗?

好的,明白了。例如,虽然 functional::Curry 不会将依赖项注入生成的柯里化函数,但显然 purrr::partial 会。此外,CodeDepends 非常有帮助!