如何获取函数中传递的所有参数?

时间:2012-12-03 16:34:04

标签: r

有没有办法“访问”函数中所有传递的参数?我相信这可以通过参数数组在javascript中完成,在R中是否有等价物?

myfunc <- function() {
    print(arguments[1])
    print(arguments[2])
}

R> myfunc("A","B")

[1] "A"
[1] "B"

1 个答案:

答案 0 :(得分:9)

从技术上讲,你的函数没有参数,所以将参数传递给它是一个错误。

那就是说,至少你需要...。如果您这样做,可以在list上使用...,然后访问...副本的名称。例如:

myfunc <- function(...) {
  names(list(...))
}

另一种方法是使用match.call解析调用。例如:

myfunc <- function(A, B) {
  names(match.call()[-1])
}