当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


R purrr quietly 包装一个函数来捕获副作用


创建 .f 的修改版本,捕获副作用以及函数的返回值,并返回包含 resultoutputmessageswarnings 的列表。

用法

quietly(.f)

参数

.f

要修改的函数,通过以下方式之一指定:

  • 命名函数,例如mean

  • 匿名函数,例如\(x) x + 1function(x) x + 1

  • 一个公式,例如~ .x + 1 。仅当您需要向后兼容旧版本的 R 时才推荐。

如上所述,该函数采用与 .f 相同的参数,但返回不同的值。

副词

该函数称为副词,因为它修饰函数(动词)的效果。如果您想在包中包含创建副词的函数,请务必阅读faq-adverbs-export

也可以看看

其他副词:auto_browse() , compose() , insistently() , negate() , partial() , possibly() , safely() , slowly()

例子

f <- function() {
  print("Hi!")
  message("Hello")
  warning("How are ya?")
  "Gidday"
}
f()
#> [1] "Hi!"
#> Hello
#> Warning: How are ya?
#> [1] "Gidday"

f_quiet <- quietly(f)
str(f_quiet())
#> List of 4
#>  $ result  : chr "Gidday"
#>  $ output  : chr "[1] \"Hi!\""
#>  $ warnings: chr "How are ya?"
#>  $ messages: chr "Hello\n"
源代码:R/adverb-quietly.R

相关用法


注:本文由纯净天空筛选整理自Hadley Wickham等大神的英文原创作品 Wrap a function to capture side-effects。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。