I find this behavior very confusing:
choose_language <- function(language = c("R", "python", "C")) {
language <- match.arg(language, several.ok = FALSE)
paste('I love', language)
}
choose_language(language = "R")
"I love R"
choose_language(language = c("R", "python"))
Error in ... OK
choose_language(language = c("R", "python", "C"))
"I love R"
Why this happen?
I would expect the same behavior as the following function:
choose_language <- function(language = "R") {
checkmate::assertChoice(language, choices = c("R", "python", "C"))
paste('I love', language)
}
but without checkmate dependency
Thanks again