gpt4 book ai didi

r - 失败时如何打印函数的参数?

转载 作者:行者123 更新时间:2023-12-05 09:29:57 24 4
gpt4 key购买 nike

当函数 sum() 失败时,我正在尝试使用 possibly() 打印参数 x 作为消息。

library(purrr)
t <- function(x) {
p <- possibly(sum, otherwise = message(x))
p(x)
}

但是,我不希望下面的代码检索任何消息,因为 sum() 不会失败:

> t(1)
1
[1] 1

相反,下面的脚本按预期工作:sum() 失败,因此 t() 打印消息 'a'

> t('a')
a
NULL

最佳答案

如另一个答案所述,可能只是做了一些与您想要的完全不同的事情。

你想要的是 tryCatch(base R 的一部分):

t <- function(x) {
tryCatch(sum(x), error = function (.) message(x))
}
t(1)
# [1] 1
t('a')
# a

关于r - 失败时如何打印函数的参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70186719/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com