Есть ли способ получить все функциональные параметры изнутри функции?Получить список всех функциональных параметров изнутри функции
match.call()
не возвращает параметры со значениями по умолчанию, но не переопределенными. Например:
xf <- function (a, b="Hi", c=TRUE) {
print(as.list(match.call(expand.dots=FALSE)))
}
>xf(3)
[[1]]
xf
$a
[1] 3
Я пишу пакет с функцией, которая вызывает существующую функцию, но я хочу, чтобы иметь возможность установить значения по умолчанию, которые не на существующей функции. (Я планирую использовать список из match.call
, передав его в другую функцию с do.call
и возвращает результат
Update:.. Интересный вопрос, который относится к способам S3 я создал новый метод S3, и используется @ Ответ Ferdinand.kraft as.list(environment(), all.names=TRUE)
Аргумент all.names сохраняет имена, начинающиеся с .
в списке. Оказывается, отправка метода добавляет несколько аргументов в среду функций, включая .Generic
.Class
.Method
и некоторые другие. Это может вызвать проблемы, если вы передаете эти функции функции do.call
. Один из других ответов может быть лучшим решением для всех, но мне нравится простота as.list(environment())
.
делает 'агд вы делаете то, что хотите? –