#r #function
#r #функция
Вопрос:
Работая над какой-то проблемой, я столкнулся с ситуацией, в которой я хотел знать, выполнялась ли функция при вызове. Для этого я помещаю в функцию инструкцию print.
abc = function(x)
if(x > 0) {
return(x)
print("Go")
} else {
return(0)
print("Run")
}
y = abc(3)
y
# [1] 3
Почему инструкция print не выполняется при вызове abc()?
Ответ №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