From Original War Support Wiki
Tutorials -> Variables
Info and defining
Variables are used for containing some data. They have to be defined before they can be used. There are two ways to define them:
First one allows use of them in all SAIL modules (tabs with code):
export MyGlobalVar1, MyGlobalVar2;
Second one makes them available only for the current module (tab):
var MyLocalVar1, MyLocalVar2;
It is said that var creates local variables and export creates global. Local aren't seen by other modules and therefore each module can have its own variable of the same name and it will be a different variable!
That's a simple situation where they were defined outside any other block but you can also define variable available only for a specific part of code, for example function or starting block:
function MyFunction(); var MyVar1; // the rest of function's block
Then only MyFunction would be able to use MyVar1.
The line with function's definition is followed by line with the var command to create function's local variables.
That way you can have unlimited functions with variable of the same name but it would be a different variable.
Type of variable in SAIL isn't predefined so any variable can contain any data.
Integer and number with floating point:
Array of any type:
MyVar:= [2, 4];
MyVar:= 'I am Radzio! Listen to me!';
1) Boolean values can be replaced by numbers (false -> 0, true -> 1).
2) Variables' names cannot start with a number; these won't be accepted: 9Something, 11Wo;
3) Variables' names cannot have white-space characters (spaces, tabs) and any special characters except: _
4) Variables' names aren't case sensitive so code won't allow you to have: john, John, JOHN; as different variables.
5) Unit's identifier is a variable. You cannot have variable named as unit's identifier.
6) You cannot have variable named as function and vice versa.