Quick Start Guide
Quick Start Guide
Who this Guide is for
If you already know BASIC and want to get Liberty BASIC quickly into your bag of tricks, the following information is designed to help.
Liberty BASIC has some unique features that are not in other versions of BASIC. This section will explain these features.
- Note: Just BASIC and Run BASIC also share the same language features, and any exceptions will be noted.
Branch Labels
Many BASIC languages support line numbers, and Liberty BASIC also lets you use them, but it is really intended that the programmer use named branch labels instead.
Branch labels are letters and numbers surrounded by square brackets, for example: [exampleBranchLabel] or [letters123]
So, instead of using line numbers like so:
10 input "What is your name?"; yourName$ 20 print "Nice to meet you, "; yourName$ 30 input "Ask again (Y/N)"; yn$ 40 if yn$ = "Y" or yn$ = "y" then 10 50 print "Bye." 60 end
The simplest example of this without line numbers is:
[ask]
input "What is your name?"; yourName$
print "Nice to meet you, "; yourName$
input "Ask again (Y/N)"; yn$
if yn$ = "Y" or yn$ = "y" then [ask]
print "Bye."
end
Notice that we only need one branch label instead of a program written using the line numbered style which has a line number for each line of code.
Here is what the same program looks like in QBasic:
ask:
input "What is your name?"; yourName$
print "Nice to meet you, "; yourName$
input "Ask again (Y/N)"; yn$
if yn$ = "Y" or yn$ = "y" then ask
print "Bye."
end
Variables
Liberty BASIC has two variable types, numeric and string. Consistent with the classic BASIC languages, variables in Liberty BASIC do not need to be declared before they are used.
Numeric variables are formed as letters and digits and must start with a letter. String variable names follow the same rules but end with a dollar sign $.
'Examples of numeric variables, which can hold either integer or floating point values. count1 = 123 count2 = 234 count3 = 100 averageCount = (count1 + count2 + count3) / 3 print averageCount
When run, this code prints the number 152.333333.
'Examples of string variables. Notice that they do not need to be declared with DIM or other command. firstName$ = "Jerry" secondName$ = "Mandell" fullName$ = secondName$ + ", " + firstName$ print fullName$
When run, this code print Mandell, Jerry.
Variable names can also have periods in them, like so:
first.name$ = "Jerry" member.id = 21412
Numbers
Liberty BASIC has only two numeric types, integers and floats.
Integers in Liberty BASIC are represented internally behind the scenes in two formats:
- Small form - 31 bit (-1073741824 to 1073741823)
- Large form - arbitrary length integers which are outside the range of the 31-bit integers
Floats in Liberty BASIC are double precision using the IEEE 754 specification. Using an eight byte format this gives approximately 18 digits of precision and represents values in the range (+/-)4.19e-307 to (+/-)1.67e308. All floating point math is done using the computer's math coprocessor.
Conversion between the two integer formats and floating point is automatically handled behind the scenes. The programmer does not need to do anything.
Arrays
Liberty BASIC supports numeric and string arrays both single and double dimensioned. Note: Liberty BASIC 5.0 in development allows for more than 2 dimensions.
Similar to many BASICs, Liberty BASIC requires that arrays with more than 11 elements (0 to 10) are specified with a DIM statement:
'Create a string array with 50 elements, 0 to 49
dim stuff$(49)
'Create a numeric array with 500 elements, 0 to 99 and 0 to 4
dim item(99, 4)