【问题标题】:What is the reason to add quotation marks around R function names?在 R 函数名称周围添加引号的原因是什么?
【发布时间】:2015-06-07 13:34:45
【问题描述】:

定义一个叫做myfunction的函数有什么区别

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

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

此外:通常放置在此类函数周围的 cmets 怎么样,即

#myfunction{{{

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

#}}}

它们只是为了记录还是真的有必要(如果是的话)?

编辑:有人问我一个例子,其中 cmets 喜欢

#myfunction{{{

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

【问题讨论】:

  • 按照@BrodieG 的回答,一个常见的例子是infix functions,例如"%&gt;%" &lt;- function(x,y) {...}.
  • 您在哪里找到使用#myfun {{{ 业务定义的函数?
  • 添加了#myfun {{{ 评论 的示例
  • #{{{#}}} cmets 用于 vim folding

标签: r function syntax


【解决方案1】:

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

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

【讨论】:

  • 你也可以使用反引号:`my function`
  • R: Quotes
  • 感谢您的回复。我在问题中添加了一个附加部分,即关于 cmets(这就是我尚未接受您的回答的原因)
  • 对于 cmets,据我所知,他们什么也没做。它们可能是某些文档框架的一部分。 roxygen 使用 #' @param ... 形式的 cmets,但我之前没见过这种形式的评论。
  • 我也没有。你能提供一个你看到这种形式的 cmets 的例子吗? @chuchikaeschtli
猜你喜欢
  • 2021-06-10
  • 2012-11-16
  • 2011-08-19
  • 2015-09-05
  • 1970-01-01
  • 2017-10-07
  • 2016-02-21
相关资源
最近更新 更多