首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何正确记录R6 self

如何正确记录R6 self
EN

Stack Overflow用户
提问于 2021-05-18 18:45:27
回答 1查看 47关注 0票数 2

我有一个用R6class构建的函数,我想知道传递devtools::check()的最好方法是。目前,这个repex给出了注释

代码语言:javascript
复制
> 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似乎会触发全局变量注释。

Repex

代码语言:javascript
复制
#' 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。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-06-09 02:12:40

具有虚拟self <- NA定义的解决方案。

代码语言:javascript
复制
#' 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(...)
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67584669

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档