Skip to content

Commit fbfe215

Browse files
committed
Deploying to gh-pages from @ endbasic/homepage@01b147d 🚀
1 parent eea42ba commit fbfe215

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

docs.html

+2-2
Original file line numberDiff line numberDiff line change
@@ -103,14 +103,14 @@
103103
</span></span><span class=line><span class=cl><span class=err>@</span><span class=nl>second:</span><span class=w> </span><span class=kr>PRINT</span><span class=w> </span><span class=s2>&#34;second&#34;</span><span class=o>:</span><span class=w> </span><span class=kr>GOTO</span><span class=w> </span><span class=nl>300</span>
104104
</span></span><span class=line><span class=cl>
105105
</span></span><span class=line><span class=cl><span class=nl>300</span><span class=w> </span><span class=kr>PRINT</span><span class=w> </span><span class=s2>&#34;third&#34;</span>
106-
</span></span></code></pre></div><p>The <code>@</code> prefix for label names is an EndBASIC-specific artifact required to resolve parsing ambiguities. This requirement might be relaxed in the future.</p><p>EndBASIC does not yet support defining custom functions nor procedures, but it supports <code>GOSUB</code>, which provides an unconditional jump to a target location (using the same syntax as <code>GOTO</code>) and the ability to return to the call site via <code>RETURN</code>.</p><p>You can use this feature to implementing rudimentary procedures and functions. For example:</p><div class=highlight><pre tabindex=0 class=chroma><code class=language-basic data-lang=basic><span class=line><span class=cl><span class=vg>x</span><span class=w> </span><span class=o>=</span><span class=w> </span><span class=il>3</span><span class=o>:</span><span class=w> </span><span class=vg>y</span><span class=w> </span><span class=o>=</span><span class=w> </span><span class=il>4</span><span class=o>:</span><span class=w> </span><span class=kr>GOSUB</span><span class=w> </span><span class=err>@</span><span class=vg>add</span>
106+
</span></span></code></pre></div><p>The <code>@</code> prefix for label names is an EndBASIC-specific artifact required to resolve parsing ambiguities. This requirement might be relaxed in the future.</p><p>EndBASIC also supports <code>GOSUB</code>, which provides an unconditional jump to a target location (using the same syntax as <code>GOTO</code>) and the ability to return to the call site via <code>RETURN</code>. You can use this feature to implementing rudimentary procedures and functions. For example:</p><div class=highlight><pre tabindex=0 class=chroma><code class=language-basic data-lang=basic><span class=line><span class=cl><span class=vg>x</span><span class=w> </span><span class=o>=</span><span class=w> </span><span class=il>3</span><span class=o>:</span><span class=w> </span><span class=vg>y</span><span class=w> </span><span class=o>=</span><span class=w> </span><span class=il>4</span><span class=o>:</span><span class=w> </span><span class=kr>GOSUB</span><span class=w> </span><span class=err>@</span><span class=vg>add</span>
107107
</span></span><span class=line><span class=cl><span class=kr>PRINT</span><span class=w> </span><span class=vg>result</span>
108108
</span></span><span class=line><span class=cl><span class=kr>END</span>
109109
</span></span><span class=line><span class=cl>
110110
</span></span><span class=line><span class=cl><span class=err>@</span><span class=vg>add</span>
111111
</span></span><span class=line><span class=cl><span class=vg>result</span><span class=w> </span><span class=o>=</span><span class=w> </span><span class=vg>x</span><span class=w> </span><span class=o>+</span><span class=w> </span><span class=vg>y</span>
112112
</span></span><span class=line><span class=cl><span class=kr>RETURN</span>
113-
</span></span></code></pre></div><h2 id=lang-conditionals>Conditionals</h2><h3 id=lang-if>If statements</h3><p>EndBASIC supports conditional statements (<code>IF</code>) with zero or more alternate branches (<code>ELSE IF</code> and <code>ELSE</code>).</p><p>Here is how the most simple construct looks like:</p><div class=highlight><pre tabindex=0 class=chroma><code class=language-basic data-lang=basic><span class=line><span class=cl><span class=kr>IF</span><span class=w> </span><span class=il>3</span><span class=w> </span><span class=o>&lt;</span><span class=w> </span><span class=il>5</span><span class=w> </span><span class=kr>THEN</span>
113+
</span></span></code></pre></div><p>You are encouraged to use <a href=#lang-callables>functions and subroutines</a> instead of <code>GOTO</code> and <code>GOSUB</code> where possible for cleaner code.</p><h2 id=lang-conditionals>Conditionals</h2><h3 id=lang-if>If statements</h3><p>EndBASIC supports conditional statements (<code>IF</code>) with zero or more alternate branches (<code>ELSE IF</code> and <code>ELSE</code>).</p><p>Here is how the most simple construct looks like:</p><div class=highlight><pre tabindex=0 class=chroma><code class=language-basic data-lang=basic><span class=line><span class=cl><span class=kr>IF</span><span class=w> </span><span class=il>3</span><span class=w> </span><span class=o>&lt;</span><span class=w> </span><span class=il>5</span><span class=w> </span><span class=kr>THEN</span>
114114
</span></span><span class=line><span class=cl><span class=w> </span><span class=kr>PRINT</span><span class=w> </span><span class=s2>&#34;Three is less than five&#34;</span>
115115
</span></span><span class=line><span class=cl><span class=kr>END</span><span class=w> </span><span class=kr>IF</span>
116116
</span></span></code></pre></div><p>Here is a more advanced construct with multiple alternate branches:</p><div class=highlight><pre tabindex=0 class=chroma><code class=language-basic data-lang=basic><span class=line><span class=cl><span class=vg>discount#</span><span class=w> </span><span class=o>=</span><span class=w> </span><span class=kr>RND</span><span class=p>(</span><span class=il>1</span><span class=p>)</span>

0 commit comments

Comments
 (0)