我无法理解为什么使用getOption检索我手动设置的选项NULL在并行执行中返回foreach,而它正确返回其他选项:
library(foreach)
options(my_option = 1)
f <- function(option){
cl <- parallel::makeCluster(parallel::detectCores() - 1)
doParallel::registerDoParallel(cl)
on.exit(parallel::stopCluster(cl), add = TRUE)
on.exit(foreach::registerDoSEQ(), add = TRUE)
foreach(i = 1:3) %dopar% {getOption(option)}
}
Run Code Online (Sandbox Code Playgroud)
例子:
f("warn")
[[1]]
[1] 0
[[2]]
[1] 0
[[3]]
[1] 0
f("my_option")
[[1]]
NULL
[[2]]
NULL
[[3]]
NULL
Run Code Online (Sandbox Code Playgroud)
我知道我可以使用.export参数,但如果可能的话,我想要不使用它的解决方案。