On 15/02/2011 5:22 PM, Kevin Wright wrote:
For those of you "familiar with R", here's a little quiz.  What what's the
difference between:


f1<- function(){
   a=5
}

This returns 5, invisibly. It's also bad style, according to those of us who prefer <- to = for assignment.

f2<- function(){
   return(a=5)
}

This is a mistake: return() doesn't take named arguments. It is lenient and lets you get away with this error (treating it the same as
return(5)), and returns the 5, visibly.

Duncan Murdoch

f2()


Kevin Wright




On Tue, Feb 15, 2011 at 3:55 PM, Geoff Jentry<geoffjen...@hexdump.org>wrote:

On Wed, 16 Feb 2011, David Scott wrote:

4. We don't want gratuitous use of "return" at the end of functions.
Why do people still do that?

Well I for one (and Jeff as well it seems) think it is good programming
practice. It makes explicit what is being returned eliminating the
possibility of mistakes and provides clarity for anyone reading the code.


You're unnecessarily adding the overhead of a function call by explicitly
calling return().

Sure it seems odd for someone coming from the C/C++/Java/etc world, but
anyone familiar with R should find code that doesn't have an explicit
return() call to be fully readable&  clear.

-J


______________________________________________
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel


        [[alternative HTML version deleted]]

______________________________________________
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel

______________________________________________
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel

Reply via email to