R - Перегрузка функций

Поддерживает ли R функцию перегрузка ??

Я хочу сделать что-нибудь в следующих строках:

g <- function(X,Y) { # do something and return something } 
g <- function(X) { # do something and return something} 
17
задан Andrie 13 February 2012 в 18:57
поделиться

1 ответ

Проверьте пропавших без вести () функция в R. Чтобы функция все еще бежала, Вы должны повторно назначить недостающие переменные перед бегущей остальной частью функции. Например, этот кодекс:

overload = function(x,y) {
  if (missing(y)) {
    y = FALSE
  }

  if (y == FALSE) {
    print("One variable provided")
  } else {
    print("Two variables provided")
  }
}

overload(1)
overload(1, 2)

возвратится:

> overload(1)
[1] "One variable provided"
> overload(1, 2)
[1] "Two variables provided"

Наконец, пропавшие без вести () функция только надежна, если Вы не изменили рассматриваемую переменную в функции.

1
ответ дан 30 November 2019 в 13:26
поделиться
Другие вопросы по тегам:

Похожие вопросы: