[Rd] Request: Suggestions for "good teaching" packages, esp. with C code

Duncan Murdoch murdoch.duncan at gmail.com
Wed Feb 16 00:10:24 CET 2011


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<geoffjentry at 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 at r-project.org mailing list
>> https://stat.ethz.ch/mailman/listinfo/r-devel
>>
>
> 	[[alternative HTML version deleted]]
>
> ______________________________________________
> R-devel at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel



More information about the R-devel mailing list