Для этого нет встроенного синтаксиса, но вы можете написать свой собственный. Например, для внутреннего использования knitr
используется
`%n%` = function(x, y) if (is.null(x)) y else x
, а затем ваш пример становится
doSomething <- function(a){
value <- NULL
if(a > 0){
value <- a
}
return(value)
}
`%n%` <- function(x, y) if (is.null(x)) y else x
doSomething(-5) %n% "no value"
#> [1] "no value"
Создано 06.05.2020 с помощью пакета реплекс (v0.3.0)
Однако будьте осторожны: в R есть много разных способов не иметь значения: что-то может отсутствовать, или NA
, или NaN
, а также NULL
.