R 为什么可以';我们不能绕着“…”转一圈吗?
为什么下面的方法不起作用R 为什么可以';我们不能绕着“…”转一圈吗?,r,function,arguments,parameter-passing,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 它不起作用,因为在解释代码中无法访问对象类型。您需要将对象捕获为列表,
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
它不起作用,因为在解释代码中无法访问对象类型。您需要将对象捕获为列表,如nongkrong所示:
for(i in list(...))
查看R手册您也可以将其包装在
c
中,例如c(…)
@Remi.b作为旁注,您实际上可以访问..
的特定元素,如.1
,.2
等。对于循环来说,这不是非常有用,但你会看到它不时被用作获取特定项目的快捷方式。@joran-nifty,这在?保留中有记录,供那些想知道的人使用。