我最近在R中看到了一个有人使用.
作为参数的函数。我似乎无法找到任何关于此的文档(除了使用省略号或“点 - 点”)。有人可以指向我的文档方向或提供使用示例吗?
hello.world <- function(.) "Hello World"
# function(.) is what I'm asking about.
答案 0 :(得分:13)
Dot是符号名称中的有效字符,就像任何字母一样,因此.
与说a
没有区别 - 它在此上下文中没有特殊含义。你可以这样写:
> . <- 10
> . + .
[1] 20
它可能看起来很奇怪但在R中有效。上面的使用function(.)
让我说不寻常,但语法上有效。由于作者没有在函数体中引用.
,我们永远不会知道他是指...
还是只是因为他可以使用它。
答案 1 :(得分:1)
尽管Simon Urbanek给出的答案是正确的,但这是.
作为函数参数优于其他字符的原因。在某些情况下,例如lapply
,函数需要通过设计来接收自变量。但是,如果函数内不需要参数,则仍需要一个伪参数名称。 .
是最小的字符-几乎是不可见的,因此您不会因函数提供的内容而分心。 function(.)
和function()
一样好,但是有一个优点,当在apply
系列中使用时,不会产生错误。