[R] Google style

(Ted Harding) Ted.Harding at manchester.ac.uk
Tue Sep 1 12:37:55 CEST 2009


On 01-Sep-09 10:25:53, Duncan Murdoch wrote:
> Jim Lemon wrote:
>> Duncan Murdoch wrote:
>>> On 8/31/2009 11:50 AM, Mark Knecht wrote:
>>>> On Mon, Aug 31, 2009 at 6:36 AM, Terry Therneau<therneau at mayo.edu> 
>>>> wrote:
>>>> <SNIP>
>>>>> The authors borrowed so much else from C, the semicolon would have
>>>>> been good too.
>>>>>         
>> Something I have thought myself.
>>   
>>>> I know real R coders will chuckle
>>>>       
>>> I'd say cringe, rather than chuckle.  This is going to make you waste
>>> a lot of time some day, when you stare and stare at code like Terry's
>>> and can't figure out what's wrong with it:
>>>
>>>     zed <- function(x,y,z) {
>>>            x + y
>>>                  +z;
>>>           }
>>>
>>> The value of the function is +z, not x+y+z, even though the C part of
>>> your brain made you type it that way and reads it as one statement in
>>> the body, not two.
>>>     
>> This is getting interesting. One habit I have developed in R to 
>> emphasize a line continuation is to always write the above as:
>>
>> zed<-function(x,y,z) {
>>  x+y+
>>  z
>> }
>>   
> 
> That's a good habit.  An alternative is to put parentheses around the 
> expression:
> 
>      (x + y
>           + z)
> 
> will work.
>> The trailing operator signalling to me and the interpreter that
>> there's more to come. A semicolon after the z would be innocuous.
>> Now I know that this marks me as a crabby old fart who learned
>> to program on Hollerith cards where there had to be firm
>> conventions on when a line of code ended. Still, given the moiety
>> of global warming attributable to endless discussions about how
>> many spaces should be used for indentation, I think the use of
>> the semicolon as a personal aid to interpretation is at worst a
>> harmless affectation.
> 
> I think it's worse.  To me, it's like putting in a comment that is 
> wrong, or writing code like this:
> 
>   one <- 2
>   x <- x + one
> 
> Code has meaning, it's not just a bunch of binary instructions to the 
> computer.  If the meaning and the look of the code clash, it is going
> to lead to problems.
> 
> Duncan Murdoch

And surely that is precisely the point of Jim's use of ";"!
It is, in effect, ignored by R; but to Jim it means "This marks the
end of a command." Surely useful, and surely not in the same league
as "a comment that is wrong". You may see it as noise, but then
you can filter it out.

As one COF to another, I have to say that Jim's posting took me
back to the early days of my own evolution. That was dandy!
(Dinosaurs are not dead yet).

Ted.

--------------------------------------------------------------------
E-Mail: (Ted Harding) <Ted.Harding at manchester.ac.uk>
Fax-to-email: +44 (0)870 094 0861
Date: 01-Sep-09                                       Time: 11:37:52
------------------------------ XFMail ------------------------------




More information about the R-help mailing list