代码之家  ›  专栏  ›  技术社区  ›  moodymudskipper

默认情况下,当活动绑定失败时,在包中定义活动绑定

  •  1
  • moodymudskipper  · 技术社区  · 6 年前

    Based on this Q&A ,此代码定义了一个包,该包包含与值1的活动绑定。它传递 devtools::check()

    my_function <- function() 1
    
    #' return 1
    #' @usage my_active_binding
    #' @name my_active_binding
    NULL
    
    .onLoad <- function(libname, pkgname) {
      ns <-  asNamespace(pkgname)
      makeActiveBinding("my_active_binding", my_function,  env = ns)
      namespaceExport(ns, "my_active_binding")
    }
    

    但是,如果我的活动绑定默认失败(在我的用例中,它应该在特定的上下文中使用), 然后 他不再快乐了。

    编辑:实际上如果我使用 print() 或 message() 而不是 stop() 我遇到了同样的问题

    my_function <- function() stop("stop!!!")
    
    #' stop!!!
    #' @usage my_active_binding
    #' @name my_active_binding
    NULL
    
    .onLoad <- function(libname, pkgname) {
      ns <-  asNamespace(pkgname)
      makeActiveBinding("my_active_binding", my_function,  env = ns)
      namespaceExport(ns, "my_active_binding")
    }
    

    见下文:

    -- R CMD check results ---------------------------------- abtest 0.0.0.9000 ----
    Duration: 21s
    
    > checking DESCRIPTION meta-information ... WARNING
      Non-standard license specification:
        GPL3
      Standardizable: FALSE
    
    > checking S3 generic/method consistency ... WARNING
      Error in (function ()  : stop!!!
      Calls: <Anonymous> -> Filter -> unlist -> lapply -> FUN -> <Anonymous>
      Ex�cution arr�t�e
      See section 'Generic functions and methods' in the 'Writing R
      Extensions' manual.
    
    > checking for code/documentation mismatches ... WARNING
      Error in (function ()  : stop!!!
      Calls: <Anonymous> ... Filter -> unlist -> lapply -> FUN -> get -> <Anonymous>
      Ex�cution arr�t�e
    
    > checking dependencies in R code ... NOTE
      Error in (function ()  : stop!!!
      Ex�cution arr�t�e
    
    > checking foreign function calls ... NOTE
      Error in (function ()  : stop!!!
      Calls: <Anonymous> -> lapply -> FUN -> get -> <Anonymous>
      Ex�cution arr�t�e
      See chapter 'System and foreign language interfaces' in the 'Writing R
      Extensions' manual.
    
    > checking R code for possible problems ... NOTE
      Error in (function ()  : stop!!!
      Calls: <Anonymous> ... withCallingHandlers -> do.call -> <Anonymous> -> get -> <Anonymous>
      Ex�cution arr�t�e
    
    > checking Rd \usage sections ... NOTE
      Error in (function ()  : stop!!!
      Calls: <Anonymous> ... Filter -> unlist -> lapply -> FUN -> get -> <Anonymous>
      Ex�cution arr�t�e
      The \usage entries for S3 methods should use the \method markup and not
      their full name.
      See chapter 'Writing R documentation files' in the 'Writing R
      Extensions' manual.
    
    0 errors v | 3 warnings x | 4 notes x
    Erreur : R CMD check found WARNINGs
    Ex�cution arr�t�e
    
    Exited with status 1.
    

    如何将此活动绑定集成到包中并满足 devtools::check()

    0 回复  |  直到 6 年前