在 R 函数名称周围添加引号的原因是什么?
What is the reason to add quotation marks around R function names?
将名为 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
将名为 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