Остановка выполнения функции в R при отсутствии аргументов - PullRequest
0 голосов
/ 26 февраля 2019

У меня есть пользовательская функция R с 3 обязательными аргументами

func <- function(x, y, z) {
    some code... 
}

В случае, если аргумент случайно исключен из вызова функции, я просто вызываю stop () следующим образом

if (missing(x)) {
 stop("Please provide a value for x.")
}

if (missing(y)) {
 stop("Please provide a value for y.")
}

if (missing(z)) {
 stop("Please provide a value for z.")
}

Чтобы убедиться, что это действительно работает, я сделал следующее:

func(y, z) # x missing
func(x, z) # y missing 
func(x, y) # z missing

Однако только последний вызов функции выше возвращает правильное сообщение.Обе предыдущие две функции возвращают «Пожалуйста, укажите значение для z.»

Как это возможно, если z не пропущен в этих вызовах?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...