【发布时间】:2019-06-15 19:11:15
【问题描述】:
我想在包中添加一个中缀函数,但%%s 挑战了我。
我找到了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" 的文件保存到我的包目录 X 的 R 文件夹中。
然后在setwd("./X")我运行这些代码行
library(digest)
R.utils::reassignInPackage("digest", "digest", mydigest)
roxygen2::roxygenize()
(我从there 得到mydigest)。
在终端的最后,我使用R CMD build X 创建包。
那么,export("%IN%") 行到底要添加到哪里?
【问题讨论】:
-
你的文件名无关紧要,虽然我会选择一个不那么奇怪的,比如
infix_ops.R,但是你需要添加@export,因为你应该添加你想要的其他功能导出。 -
"要添加的 export("%IN%") 行到底在哪里?"在你的包的 NAMESPACE 文件中。 (与您要导出的所有其他函数相同。)
-
@Moody_Mudskipper 感谢您的线索和示例,我成功了!
-
@Roland Thx,得到它并在自己的答案中进行了总结!
标签: r package documentation infix-notation