On 10/27/2009 10:12 AM, Peng Yu wrote:
It seems that 'return' is not necessary when returning a value. If
this is the case, I don't understand why 'return' is a keyword in R.
Is there a case in which I have to use 'return'?
If you want to return early from a function you need it, e.g.
f <- function(x) {
if (x < 10) return(x^2)
x <- x + 1
x
}
Often these can be rewritten without the explicit return(), but they can
be less clear. For example, the above is equivalent to
f <- function(x) {
if (x < 10) x^2
else {
x <- x + 1
x
}
}
but here it is not obvious that the x^2 is really the value of the last
statement in the function.
Duncan Murdoch
f<-function(x) {
+ x
+ }
g<-function(x) {
+ return(x)
+ }
print(f(2))
[1] 2
print(g(2))
[1] 2
______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.
______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.