为什么我们不能循环```?

时间:2015-09-06 18:32:28

标签: r function arguments parameter-passing

为什么以下不起作用?

f = function(...) for (i in ...) print(i)
f(1:3)
# Error in f(1:3) : '...' used in an incorrect context

虽然这工作正常

f = function(...) for (i in 1:length(...)) print(...[i])
f(1:3)
# [1] 1
# [1] 2
# [1] 3

1 个答案:

答案 0 :(得分:8)

它不起作用,因为在解释的代码中无法访问...对象类型。您需要将对象捕获为nongkrong显示的列表:

for(i in list(...))

查看R手册here