代码之家  ›  专栏  ›  技术社区  ›  jay.sf

如何向包中添加中缀函数?

  •  0
  • jay.sf  · 技术社区  · 7 年前

    我想向包添加一个中缀函数,但是 %% 挑战我。

    我发现 this solution 但不幸的是,这并不能解释具体的路线 export("%IN%") 应该添加。我从没有变得更聪明 that 也可以提问。由于这些问题是五岁的,我决定问一个新问题。

    考虑与第一个链接问题相同的功能。

    "%IN%" <- function(x, table) x & match(x, table, nomatch = 0) > 0
    

    我通常会在包中添加一个新函数来编写 <myfun>_function.R 根据这个粗略的模板归档。

    #' Title
    #'
    #' \code{%IN%} does this and that
    #' @param x texttext    
    #' @param table texttext
    #' @return texttext
    #' @export
    #' @examples
    #' 1:5 %IN% 1:3
    "%IN%" <- function(x, table) x & match(x, table, nomatch = 0) > 0
    

    因此,我会保存一个名为 "`%IN%`_function.R" R 我的包目录的文件夹 X .

    然后在 setwd("./X") 我运行这些代码行

    library(digest)
    R.utils::reassignInPackage("digest", "digest", mydigest)
    roxygen2::roxygenize()
    

    (我得到的地方) mydigest there )

    在终端的最后,我用 R CMD build X .

    那么,到底在哪里 导出(“%为%”) 要添加的行?

    1 回复  |  直到 7 年前
        1
  •  0
  •   jay.sf    7 年前

    根据评论,技巧是按以下顺序进行:

    1. 编写函数的 *.R 像往常一样,任意命名
    2. 运行 roxygenize()
    3. 在包文件夹中编辑生成的 NAMESPACE 通过添加行进行文件 export("%IN%") 手舞足蹈
    4. 运行 R CMD build <package name> 在终端
    5. 可能更新版本号
    6. 安装