I guess my C background has messed me up a bit for R. Well, recovering from APL was worse. I lost all sense of hierarchy of operations. On Feb 15, 2015 2:19 PM, "Duncan Murdoch" <murdoch.dun...@gmail.com> wrote:
> On 15/02/2015 11:20 AM, John McKown wrote: > > On Sun, Feb 15, 2015 at 9:54 AM, Duncan Murdoch > > <murdoch.dun...@gmail.com <mailto:murdoch.dun...@gmail.com>>wrote: > > > > On 15/02/2015 10:08 AM, Sun Shine wrote: > > > Thanks John: understanding it as a line return makes sense! > > > > But it's not right. This is one statement, and it returns the value > 3: > > > > 1 + > > 2 > > > > This is an error: > > > > 1 + ; 2 > > > > The semicolon is a statement separator, not a line return. > > > > > > Technically speaking a semicolon is a statement terminator, not a > > statement separator. In the case of the R language, that is a "nit". In > > the case of Pascal, it is a big difference. > > > > > > > > Duncan Murdoch > > > > > > This is one reason why I _always_ use the semi-colon. It is _never_ > > really wrong to do so. It may be _unnecessary_ in some case. It is also > > why I always use <- as the assignment operator (well, that and because I > > like it from my APL background). If there are two ways to express > > something, and one of them is _always_ correct whereas the other _might > > not_ be correct in some cases, then I think doing the former is simply > > "better form". But, then, I'm anal about other things to. And that > > doesn't apply to interactive use. I don't terminate my interactive > > statements with a semi-colon all the time. Just most of the time. Of > > course, I'm a touch typist too and so it is not really much of a problem > > for me. > > I don't use semicolons unless they are necessary, and I don't like it > when my students do. For example, you could be misled by code like this: > > x = 1; > y = 2; > verylongname = x + y > + 1; > > If this were C, verylongname would end up with the value 4. If you read > it and only see 3 "terminators", you might think R is the same, but it's > not. R sees that as 7 different statements: two on the 1st, 2nd and > 4th lines (in each case the second statement is empty), and one > statement on line 3. So verylongname ends up with the value 3, not 4. > > Cues to remind you what language you're using are a good thing. That's > one reason to use <- (which I always do) instead of =, and not to use > unnecessary semicolons. > > Duncan Murdoch > > > > > > > > > -- > > He's about as useful as a wax frying pan. > > > > 10 to the 12th power microphones = 1 Megaphone > > > > Maranatha! <>< > > John McKown > > [[alternative HTML version deleted]] ______________________________________________ R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see 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.