从R语言定义引用:
请注意,ls函数默认不列出以句点开头的标识符,并且'.'和'..1','..2'等是特殊的.
以下标识符具有特殊含义,不能用于对象名称,否则重复,而函数用于下一个中断TRUE FALSE NULL Inf NaN NA NA_integer_ NA_real_ NA_complex_ NA_character_ ... ..1 ..2等.
但是它没有给出任何进一步的细节.有人可以详细说明吗?
这些用于从...函数的参数中定位提取值.见下面的例子:
myfun <- function(...) {
list(a = ..1, b = ..2, c = ..3)
}
myfun(1,2,3)
# $a
# [1] 1
# $b
# [1] 2
# $c
# [1] 3
myfun(3,2,1)
# $a
# [1] 3
# $b
# [1] 2
# $c
# [1] 1
myfun(1:5, "hello", letters[1:3])
# $a
# [1] 1 2 3 4 5
# $b
# [1] "hello"
# $c
# [1] "a" "b" "c"
Run Code Online (Sandbox Code Playgroud)
如果您尝试从控制台调用其中一个,则此用法很明显:
> ..1
Error: ..1 used in an incorrect context, no ... to look in
Run Code Online (Sandbox Code Playgroud)