在R函数名周围加引号的原因是什么



将一个名为myfunction的函数定义为有什么区别

"myfunction" <- function(<arguments>){<body>}

myfunction <- function(<arguments>){<body>}

此外:通常围绕这样一个函数(即)放置的注释呢

#myfunction{{{
 "myfunction" <- function(<arguments>){<body>}
#}}}

它们只是用于文档还是真的有必要(如果有,用于什么)?

编辑:有人问我一个例子,比如之类的评论

#myfunction{{{

被使用:例如这里https://github.com/cran/quantmod/blob/master/R/getSymbols.R

引用的版本允许非法的函数名:

> "my function" <- function() NULL
> "my function"()
NULL

请注意,大多数人使用反勾号来表明他们指的是名称而不是字符串。这允许您做一些非常奇怪的事情,正如?assign:中所暗示的那样

> a <- 1:3
> "a[1]" <- 55
> a[1]
[1] 1
> "a[1]"
[1] "a[1]"
> `a[1]`
[1] 55

最新更新