Вызов функции с параметром по умолчанию при условии - PullRequest
3 голосов
/ 05 мая 2020

У меня есть функция foo, которая принимает один аргумент и имеет параметр по умолчанию

foo <- function(b = 2) b

Я хочу вызвать эту функцию из другой функции bar.

bar <- function(a, b = NULL){
    a * foo(b = ???)
}
  • Если b указан в bar Я хочу вызвать foo с этим параметром
  • если нет Я хочу вызвать foo с параметром по умолчанию.

Как я могу это сделать?

(Я не смог найти подходящего заголовка для этого вопроса, поэтому, пожалуйста поменяй, если знаешь лучше.)

1 Ответ

3 голосов
/ 05 мая 2020

Вы можете использовать аргумент ...:

foo <- function(b = 2) b
bar <- function(a, ...) {
  a * foo(...)
}

bar(a=5)
bar(3, b=3)
bar(3, 7)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...