當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。