SuperBASIC: Difference between revisions

From F256 Foenix
Jump to navigationJump to search
No edit summary
No edit summary
Line 3: Line 3:
* [[SuperBASIC Memory Map]]
* [[SuperBASIC Memory Map]]
* Watch EMWhite's excellent intro series on YouTube: [https://www.youtube.com/playlist?list=PLeHjTvk7NPiSqGz4REMH-S4hjYpLS2YNR Full Playlist].
* Watch EMWhite's excellent intro series on YouTube: [https://www.youtube.com/playlist?list=PLeHjTvk7NPiSqGz4REMH-S4hjYpLS2YNR Full Playlist].
An informal list of tips, "gotchas":
# A regular <code>if then</code> condition can't contain an <code>else</code> statement, as in this example:
<code>10 if a=0 then x=10</code>
# If you need to do an  <code>if then else</code> structure,  you actually have to do an <code>if else endif</code> structure like in the following example,  skipping the <code>then</code> statement.
<code>10 if a=0
20    x=1
30    else
40    x=2
50 endif</code>
# If you do it in one line it needs to have some colons added, making it look weird like this:
<code>10 if a=0:x=1:else:x=2:endif</code>
# if you dare to omit the <code>endif</code>  thinking that the <code>if</code> statement won't need it, (mmm.., everything is in one line, so no need, right?) -Nope...all hell breaks loose!-
<code>10 if a=0:x=1:else:x=2: REM "<-- Error, omited the endif"</code>
# be careful not to add an extra  <code>then</code> statement by mistake to an <code>if else endif</code> structure, if you do -All hell breaks loose again!!-
<code>10 if a=0 then  : rem "<-- Error, THEN is not needed!!!"
20    x=1
30    else
40    x=2 50 endif</code>

Revision as of 08:02, 15 March 2024

SuperBASIC is inspired by BBC BASIC but offers quite a bit more.

An informal list of tips, "gotchas":

  1. A regular if then condition can't contain an else statement, as in this example:

10 if a=0 then x=10

  1. If you need to do an if then else structure, you actually have to do an if else endif structure like in the following example, skipping the then statement.

10 if a=0 20 x=1 30 else 40 x=2 50 endif

  1. If you do it in one line it needs to have some colons added, making it look weird like this:

10 if a=0:x=1:else:x=2:endif

  1. if you dare to omit the endif thinking that the if statement won't need it, (mmm.., everything is in one line, so no need, right?) -Nope...all hell breaks loose!-

10 if a=0:x=1:else:x=2: REM "<-- Error, omited the endif"

  1. be careful not to add an extra then statement by mistake to an if else endif structure, if you do -All hell breaks loose again!!-

10 if a=0 then  : rem "<-- Error, THEN is not needed!!!" 20 x=1 30 else 40 x=2 50 endif