From: Deepayan Sarkar <deepayan.sarkar_at_gmail.com>

Date: Thu 08 Dec 2005 - 12:15:52 EST

R-help@stat.math.ethz.ch mailing list

https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html Received on Thu Dec 08 12:21:10 2005

Date: Thu 08 Dec 2005 - 12:15:52 EST

On 12/7/05, Jan T. Kim <jtk@cmp.uea.ac.uk> wrote:

> On Tue, Dec 06, 2005 at 04:21:01PM +0000, Patrick Burns wrote:

*> > I don't put in extraneous ';' because I maybe get a
**> > blister on my little finger.
**> >
**> > I suspect that those who find the semi-colons ugly in
**> > R do not find them ugly in C. I think the reason there
**> > would be a visceral reaction in R but not in C is that
**> > there is a danger when using them in R that they really
**> > mean something.
**> >
**> > We get questions on R-help often enough about why
**> > code like:
**> >
**> > if(x > 0) y <- 4
**> > else y <- 4.5e23
**> >
**> > doesn't work.
**> >
**> > If people habitually used semi-colons, those sorts of
**> > questions would probably multiply.
**>
**> I don't understand. It would seem to me that in
**>
**> if (x > 0) y <- 4;
**> else y <- 4.5e23;
**>
**> it's pretty obvious that the "if" statement is terminated by the
**> semicolon at the end of the first line and that therefore, the "else"
**> on the next line is erroneous because it is not associated with any
**> "if".
*

Why is it obvious?

if (x > 0) y = 4; else y = 4.5e23;

is perfectly legal C.

> At least, the version above fails consistently, i.e. regardless of

*> context.
*

It fails for unrelated reasons.

if (x > 0) { y <- 4; } else { y <- 4.5e23; }

doesn't fail.

-Deepayan

> On the other hand, I've studied the R Language Definition for

*> quite some time before fully understanding why
**>
**> if (x > 0) y <- 4
**> else y <- 4.5e23
**>
**> works inside of a function (or other enclosing block) while it does not
**> work interactively (or at the top level of a script).
**>
**> Best regards, Jan
**> --
**> +- Jan T. Kim -------------------------------------------------------+
**> | email: jtk@cmp.uea.ac.uk |
**> | WWW: http://www.cmp.uea.ac.uk/people/jtk |
**> *-----=< hierarchical systems are for files, not for humans >=-----*
**>
**> ______________________________________________
**> R-help@stat.math.ethz.ch mailing list
**> https://stat.ethz.ch/mailman/listinfo/r-help
**> PLEASE do read the posting guide!
**> http://www.R-project.org/posting-guide.html
**>
*

R-help@stat.math.ethz.ch mailing list

https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html Received on Thu Dec 08 12:21:10 2005

*
This archive was generated by hypermail 2.1.8
: Fri 03 Mar 2006 - 03:41:34 EST
*