在测试函数时,当我使用devtools::check()
构建和检查包时,它会抛出错误Error: menu() cannot be used non-interactively
下面是一个小示例代码。
yes <- c("Yes", "Definitely", "Positive", "For sure", "Yup", "Yeah",
"Absolutely")
no <- c("Not sure", "Not now", "Negative", "No", "Nope", "Absolutely not")
ask_confirmation <- function(title = NULL, positive = yes, negative = no) {
options <- c(sample(positive, 1), sample(negative, 2)) # Mix which ones
options <- sample(options, 3) # Random order
sel <- menu(options, title = title)
invisible(c("Cancel", options)[sel + 1])
}
如何克服这个问题?如有任何帮助,我们将不胜感激。
我假设您正在测试自己的包。如果是这样,您可以将有问题的示例(调用menu()
(放在donttest{ }
块中。
参见写入R扩展