else on for

new topic     » topic index » view thread      » older message » newer message

--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">&gt; </span></font></div>
<div align="left"><font face="Arial" color="#7f0000"><span
style="font-size:10pt">&gt; 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">&gt; 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">&gt; 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">&gt; </span></font></div>
<div align="left"><font face="Arial" color="#7f0000"><span
style="font-size:10pt">&gt;    for i = 1 to length( s
)</span></font></div>
<div align="left"><font face="Arial" color="#7f0000"><span
style="font-size:10pt">&gt;       if s[i] = 999
then</span></font></div>
<div align="left"><font face="Arial" color="#7f0000"><span
style="font-size:10pt">&gt;         
break</span></font></div>
<div align="left"><font face="Arial" color="#7f0000"><span
style="font-size:10pt">&gt;       end
if</span></font></div>
<div align="left"><font face="Arial" color="#7f0000"><span
style="font-size:10pt">&gt;    else</span></font></div>
<div align="left"><font face="Arial" color="#7f0000"><span
style="font-size:10pt">&gt;       printf( &quot;999
was not found&quot; )</span></font></div>
<div align="left"><font face="Arial" color="#7f0000"><span
style="font-size:10pt">&gt;    end for</span></font></div>
<div align="left"><font face="Arial" color="#7f0000"><span
style="font-size:10pt">&gt; </span></font></div>
<div align="left"><font face="Arial" color="#7f0000"><span
style="font-size:10pt">&gt; 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">&gt; cheap to implement.</span></font></div>
<div align="left"><font face="Arial" color="#7f0000"><span
style="font-size:10pt">&gt; </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( &quot;999 WAS
found!!&quot; )</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--

new topic     » topic index » view thread      » older message » newer message

Search



Quick Links

User menu

Not signed in.

Misc Menu