Re: Syntax coloring
- To: mathgroup at smc.vnet.net
- Subject: [mg111858] Re: Syntax coloring
- From: Helen Read <hpr at together.net>
- Date: Sun, 15 Aug 2010 07:39:45 -0400 (EDT)
- References: <i45rg8$g4s$1@smc.vnet.net>
- Reply-to: HPR <read at math.uvm.edu>
On 8/14/2010 6:34 AM, Bill Rowe wrote: > On 8/13/10 at 6:58 AM, tmatsoukas at me.com (Themis Matsoukas) wrote: > >> If[a> 1, >> Do[Print[i], {i, 1, 10}]; (*end do*) >> ]; > >> then, the semicolon right before the comment (*end do*) turns >> magenta. > > I don't know whether this should be considered a bug or not. But > you are using semicolons in places where they have no effect. > > A semicolon is used to create a compound expression. When you > write expr; you are actually creating the compound expression > expr;Null. And since Mathematica returns the result of the last > expression in a compound expression, the syntax expr; returns Null. > > Now, Do returns Null. So > > Do[Print[i] ,{i, 1,10}]; > > is exactly equivalent in all respects to > > Do[Print[i], {i, 1,10] > > So, your second If could have been written > > If[a> 1, Do[Print[i], {i, 1,10] (*end do*)]; > > which does not have a syntax coloring issue. I don't think this is any kind of a bug, but simply a choice on the part of WRI. When I am writing a complicated compound expression, I habitually slap a semi-colon and a line-break at the end of each piece of it, which I find helps readability. I am not even thinking about whether I'm at the last line or not, and it gets a semi-colon too. I might be trying out parts of it, and then go back and add more to it, and I like the semi-colon to already be there on the (formerly) last line when I go back and edit. That last semi-colon isn't strictly necessary, and the syntax coloring flags it red. But it doesn't hurt anything to keep that last semi-colon, and as long as one realizes that, you can just ignore it. -- Helen Read University of Vermont