【问题标题】:escaping quotations in roxygen documentation in R在 R 中的 roxygen 文档中转义引号
【发布时间】:2012-02-08 21:27:30
【问题描述】:

我的文档中有一个需要转义引号的 R 函数示例:

#' @examples msearch("published_in:\"Journal of Ecology\"")

(或者至少我不够聪明,无法避免转义引用)。虽然此命令在 R 中正常工作,但 roxygenize/document 函数将其转换为双转义

  msearch("published_in:\\"Journal of Ecology\\"")

在 .Rd 文件中。我该如何解决这个问题?

【问题讨论】:

    标签: r roxygen roxygen2


    【解决方案1】:

    如您所见,roxygen 文档块

    中的以下行
    #' @examples msearch("published_in:\"Journal of Ecology\"")
    

    *.Rd 文件

    中转换为此
    msearch("published_in:\\"Journal of Ecology\\"")
    

    正在成为以下各种帮助文件格式

    msearch("published_in:\"Journal of Ecology\"")
    

    我猜这就是您在最终产品中真正想要的。正如它在许多其他方面所做的那样,roxygen 正在简化编写帮助文件的过程——在这种情况下,您可以在您希望它们实际出现的地方键入 \s。它通过转义 \s(否则您必须这样做)来实现这一点,这是您在查看 *.Rd 文件时看到的。

    【讨论】:

    • 哈,太棒了! roxygenize 的另一个原因是,我在手动编写 .Rd 文件时会写错东西。谢谢!
    【解决方案2】:

    你需要问问自己这是否真的代表了一个问题。在 R-help 中,经常提出一个关于为什么这是 TRUE 的问题:

    nchar("\n") == 1
    

    还有更多关于如何删除不需要的“\”的问题......实际上并不存在。

    如果您想在字符串中使用双引号,那么也许使用单引号将其放在两侧?或者考虑 tidy.source 函数:http://finzi.psych.upenn.edu/R/library/formatR/html/tidy.source.html

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-09
      • 1970-01-01
      • 2018-01-17
      • 1970-01-01
      相关资源
      最近更新 更多