Есть ли способ сделать первый аргумент функции необязательным?
myFunction <- function(a = NULL, b, c) {
if(!is.null(a)) {
d <- a + c
} else {
d <- b +c
}
return(d)
}
myFunction(1, 2) # Fails, because c is missing
В некотором смысле, это очевидно, потому что безымянные аргументы сопоставляются в порядке их предоставления.
Но, с другой стороны, R может также попытаться посмотреть количество приведенных аргументов и сделать вывод, что это необязательный аргумент, который отсутствует.
Мой пример R , но, насколько я знаю, тот же принцип верен в Python .