如何正确记录 R6 self
How to correctly document R6 self
我有一个用 R6class 构建的函数,想知道传递 devtools::check()
的最佳方法是。目前这个 repex 给出了 note
> checking R code for possible problems ... NOTE
obj_gen : <anonymous>: no visible binding for global variable ‘self’
Undefined global functions or variables:
self
它只给出注释,然而,当 self
实际被调用时。即在打印函数中,但不在初始化内部的赋值中。
在 Tidyverse (here) 中,使用了 importFrom R6 R6Class
。然而,在这种情况下,在打印函数中调用 self
似乎触发了全局变量 note.
重复
#' func
#' @param ... opts
#' @examples
#'\dontrun{
#' obj_gen(bar = "fubar")
#'}
obj_gen <- function(...){
#' @importFrom R6 R6Class
obj <- R6::R6Class("my_class",
public = list(
foo = NULL,
initialize = function(bar = NA){
self$foo <- bar
},
print = function(){
cat("Anyone for ",
self$foo,
"?",
sep = "")
}
)
)
obj$new(...)
}
一位同事非常有帮助地建议将其添加到我正在考虑的 globalVariables
(info) 中。我想知道是否有更好的方法来处理它,但是使用文档:)
我的 Roxygen 版本是 7.1.1。
具有虚拟 self <- NA
定义的解决方案。
#' func
#' @param ... opts
#' @import R6
#' @examples
#'\dontrun{
#' obj_gen(bar = "fubar")
#'}
obj_gen <- function(...){
self <- NA
obj <- R6Class("my_class",
public = list(
foo = NULL,
initialize = function(bar = NA) {
self$foo <- bar
},
print = function() {
cat("Anyone for ",
self$foo,
"?",
sep = "")
}
)
)
obj$new(...)
}
我有一个用 R6class 构建的函数,想知道传递 devtools::check()
的最佳方法是。目前这个 repex 给出了 note
> checking R code for possible problems ... NOTE
obj_gen : <anonymous>: no visible binding for global variable ‘self’
Undefined global functions or variables:
self
它只给出注释,然而,当 self
实际被调用时。即在打印函数中,但不在初始化内部的赋值中。
在 Tidyverse (here) 中,使用了 importFrom R6 R6Class
。然而,在这种情况下,在打印函数中调用 self
似乎触发了全局变量 note.
重复
#' func
#' @param ... opts
#' @examples
#'\dontrun{
#' obj_gen(bar = "fubar")
#'}
obj_gen <- function(...){
#' @importFrom R6 R6Class
obj <- R6::R6Class("my_class",
public = list(
foo = NULL,
initialize = function(bar = NA){
self$foo <- bar
},
print = function(){
cat("Anyone for ",
self$foo,
"?",
sep = "")
}
)
)
obj$new(...)
}
一位同事非常有帮助地建议将其添加到我正在考虑的 globalVariables
(info) 中。我想知道是否有更好的方法来处理它,但是使用文档:)
我的 Roxygen 版本是 7.1.1。
具有虚拟 self <- NA
定义的解决方案。
#' func
#' @param ... opts
#' @import R6
#' @examples
#'\dontrun{
#' obj_gen(bar = "fubar")
#'}
obj_gen <- function(...){
self <- NA
obj <- R6Class("my_class",
public = list(
foo = NULL,
initialize = function(bar = NA) {
self$foo <- bar
},
print = function() {
cat("Anyone for ",
self$foo,
"?",
sep = "")
}
)
)
obj$new(...)
}