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

Rem*_*i.b 9 arguments r function parameter-passing

为什么以下不起作用?

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

虽然这工作正常

f = function(...) for (i in 1:length(...)) print(...[i])
f(1:3)
# [1] 1
# [1] 2
# [1] 3
Run Code Online (Sandbox Code Playgroud)

pca*_*upo 8

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

for(i in list(...))
Run Code Online (Sandbox Code Playgroud)

这里查看R手册

  • 您也可以将它包装在`c`中,例如`c(...)` (4认同)