else on for
- Posted by kbochert at copper.net Aug 08, 2003
- 440 views
--Alt-Boundary-10696.1125213 Content-description: Mail message body On 6 Aug 2003 at 20:36, David Cuny wrote: > > I've implemented REDO, BREAK and CONTINUE in my own BASIC interpreter. > Additionally, there is a ELSE clause on all the control structures, so if > they complete without hitting a BREAK clause, the THEN executes: > > for i = 1 to length( s ) > if s[i] = 999 then > break > end if > else > printf( "999 was not found" ) > end for > > It saves having to set up a flag marking that something was found, and is > cheap to implement. > I very much like this, but shouldn't the sense be reversed? for i = 1 to length( s ) if s[i] = 999 then break end if else printf( "999 WAS found!!" ) end for treating the 'break' as a sort of small-scale exception? A loop being expected to run to completion, and a break being abnormal? By analogy with 'if - else'; The 'else' only executes when the 'for' doesn't (completely) execute. Is 'else' the best name?? Any opinions? Karl Bochert --Alt-Boundary-10696.1125213 Content-type: text/html; charset=US-ASCII Content-transfer-encoding: 7BIT Content-description: Mail message body <?xml version="1.0" ?><html> <head> <title></title> </head> <body> <div align="left"><font face="Arial"><span style="font-size:10pt">On 6 Aug 2003 at 20:36, David Cuny wrote:</span></font></div> <div align="left"><br/> </div> <div align="left"><font face="Arial" color="#7f0000"><span style="font-size:10pt">> </span></font></div> <div align="left"><font face="Arial" color="#7f0000"><span style="font-size:10pt">> I've implemented REDO, BREAK and CONTINUE in my own BASIC interpreter. </span></font></div> <div align="left"><font face="Arial" color="#7f0000"><span style="font-size:10pt">> Additionally, there is a ELSE clause on all the control structures, so if </span></font></div> <div align="left"><font face="Arial" color="#7f0000"><span style="font-size:10pt">> they complete without hitting a BREAK clause, the THEN executes:</span></font></div> <div align="left"><font face="Arial" color="#7f0000"><span style="font-size:10pt">> </span></font></div> <div align="left"><font face="Arial" color="#7f0000"><span style="font-size:10pt">> for i = 1 to length( s )</span></font></div> <div align="left"><font face="Arial" color="#7f0000"><span style="font-size:10pt">> if s[i] = 999 then</span></font></div> <div align="left"><font face="Arial" color="#7f0000"><span style="font-size:10pt">> break</span></font></div> <div align="left"><font face="Arial" color="#7f0000"><span style="font-size:10pt">> end if</span></font></div> <div align="left"><font face="Arial" color="#7f0000"><span style="font-size:10pt">> else</span></font></div> <div align="left"><font face="Arial" color="#7f0000"><span style="font-size:10pt">> printf( "999 was not found" )</span></font></div> <div align="left"><font face="Arial" color="#7f0000"><span style="font-size:10pt">> end for</span></font></div> <div align="left"><font face="Arial" color="#7f0000"><span style="font-size:10pt">> </span></font></div> <div align="left"><font face="Arial" color="#7f0000"><span style="font-size:10pt">> It saves having to set up a flag marking that something was found, and is </span></font></div> <div align="left"><font face="Arial" color="#7f0000"><span style="font-size:10pt">> cheap to implement.</span></font></div> <div align="left"><font face="Arial" color="#7f0000"><span style="font-size:10pt">> </span></font></div> <div align="left"><font face="Arial"><span style="font-size:10pt">I very much like this, but shouldn't the sense be reversed?</span></font></div> <div align="left"><br/></div> <div align="left"><font face="Arial" color="#7f0000"><span style="font-size:10pt"> </span></font><font face="Arial"><span style="font-size:10pt"> for i = 1 to length( s )</span></font></div> <div align="left"><font face="Arial"><span style="font-size:10pt"> if s[i] = 999 then</span></font></div> <div align="left"><font face="Arial"><span style="font-size:10pt"> break</span></font></div> <div align="left"><font face="Arial"><span style="font-size:10pt"> end if</span></font></div> <div align="left"><font face="Arial"><span style="font-size:10pt"> else</span></font></div> <div align="left"><font face="Arial"><span style="font-size:10pt"> printf( "999 WAS found!!" )</span></font></div> <div align="left"><font face="Arial"><span style="font-size:10pt"> end for</span></font></div> <div align="left"><br/></div> <div align="left"><font face="Arial"><span style="font-size:10pt">treating the 'break' as a sort of small-scale exception?</span></font></div> <div align="left"><font face="Arial"><span style="font-size:10pt">A loop being expected to run to completion, and a break</span></font></div> <div align="left"><font face="Arial"><span style="font-size:10pt">being abnormal?</span></font></div> <div align="left"><br/> </div> <div align="left"><font face="Arial"><span style="font-size:10pt">By analogy with 'if - else'; The 'else' only executes when the</span></font></div> <div align="left"><font face="Arial"><span style="font-size:10pt">'for' doesn't (completely) execute.</span></font></div> <div align="left"><br/> </div> <div align="left"><font face="Arial"><span style="font-size:10pt">Is 'else' the best name??</span></font></div> <div align="left"><br/> </div> <div align="left"><font face="Arial"><span style="font-size:10pt">Any opinions?</span></font></div> <div align="left"><font face="Arial"><span style="font-size:10pt"> </span></font></div> <div align="left"><font face="Arial"><span style="font-size:10pt">Karl Bochert</span></font></div> --Alt-Boundary-10696.1125213--