R语言中if(TRUE)与if(FALSE)的执行逻辑疑问
问题解答
if(FALSE)的实际作用:只要if的条件是FALSE,它包裹的代码块就会被R彻底跳过,一行都不会运行。- 程序只保留TRUE条件赋值的原因:
你的代码里,第一个if(TRUE)条件为真,所以里面的赋值语句正常执行,message被设成了'I execute this when true!';第二个if(FALSE)条件不成立,里面的赋值代码根本没机会跑,message的值就一直是第一次赋的内容,最后print(message)当然只会输出这个结果。
要是你删掉第一段语句,第二个if(FALSE)里的代码还是不会执行,message变量从头到尾都没被创建,运行时会直接报错说找不到message,而不是执行第二段的赋值。
附上你的代码便于对照:
if (TRUE) {message<- 'I execute this when true!'} if (FALSE) {message<- 'I execute this when false!'} print(message)
内容的提问来源于stack exchange,提问作者sleepycriter
相关产品推荐
相关产品推荐

