gpt4 book ai didi

R:退出调用函数

转载 作者:行者123 更新时间:2023-12-02 05:59:52 24 4
gpt4 key购买 nike

在R中,有没有办法退出调用函数并返回一个值?类似 return() 的东西,但是来自父函数?

parent <- function(){
child()
# stuff afterward should not be executed
}

child <- function(){
returnFromParent("a message returned by parent()")
}

看起来 stop() 正在做类似的事情。我想做的是编写 stop() 的一个小替代品,它返回 stop() 写入 stderr 的消息。

根据G5W的建议更新:我进行了大量检查,如果测试失败,每次检查都会导致stop(),但无法评估后续条件如果之前的检查失败,那么该函数必须在失败后退出。为了“正确”地做到这一点,我必须构建一个巨大的 if else 构造,这是我想避免的。

最佳答案

明白了。我想我正在寻找这样的东西:

parent <- function(){
parent_killing_child()
print("do not run this")
}

parent_killing_child <- function(){
do.call(return, list("my message"), envir = sys.frame(-1))
}

parent()

谢谢大家的建议。

关于R:退出调用函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40965006/

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