我试图弄清楚如果 if 语句从foo
父函数中的函数为 TRUE 时如何返回对象bar
,而不是在中执行以下代码bar
;或者如果为 FALSE,则在bar
. 在下面的函数中,如果输出为 NULL bar2
,我可以测试输出,foo
然后执行更多代码。但是,在尝试减少使用的代码行时,我想知道如果函数中的 if 语句为 TRUE,我是否可以以某种方式阻止在函数中打印“你好”。 会这样做,但会发出错误信号,这不是这里发生的事情。基本上我正在寻找一个等效但返回一个没有错误的对象。bar2
foo
bar
foo
stop
stop
foo <- function(x){
if(x < 10){
"hello world"
} else
{ NULL }
}
bar <- function(y){
foo(y)
"howdy"
}
bar2 <- function(y){
out <- foo(y)
if(!is.null(out)){
out
} else
{
"howdy"
}
}
bar(5)
[1] "howdy"
bar2(5)
[1] "hello world"