在函数调用中不执行语句

时间:2019-04-08 06:12:42

标签: r function

在处理某些问题时,我遇到一种情况,我想知道某个函数在被调用时是否已执行。为此,我在函数中添加了一条打印语句。

abc = function(x)
    if(x > 0) {
      return(x)
      print("Go")
    } else {
      return(0)
      print("Run")
    }

y = abc(3)
y
# [1] 3

为什么调用abc()时不执行print语句?

1 个答案:

答案 0 :(得分:1)

那是因为您在return之前先print。更改这两个语句的顺序,它应该打印

abc = function(x) {
    if(x > 0) {
      print("Go")
      return(x)
    } else {
      print("Run")
      return(0)
   }
}

abc(3)
#[1] "Go"
#[1] 3

abc(-3)
#[1] "Run"
#[1] 0