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

时间:2015-04-02 14:35:30

标签: r function syntax

将名为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

1 个答案:

答案 0 :(得分:8)

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

> "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