When you write a program, variables are like containers that store data.
Depending on where you declare them, these variables can have different "scopes,"
meaning they can be accessed from different parts of your code. The GLOBAL
command allows to define a variable as accessible from everywhere.
You should use GLOBAL
to store parameters that do not change during program execution,
to share the state between different parts of your code, and generally to improve performance,
but it is important to weigh the pros and cons carefully. In general, it is a good idea to limit
the use of global variables and use local variables whenever possible.
You can use the name of variables to make them global, or a string with a "pattern"
to follow, to choose if a variable will be global or not. Pattern uses "wildcard"
to match any letter in name of the variables.
This keyword sets up a list of variables that can be accessed from absolutely
anywhere in your program. This is a simplified single command, designed to
be used without the need for an explicit SHARED
statement in
procedure definitions.
There is a facility of using strings in procedure definitions.
As with disc names, the "wild card" characters *
and ?
can also
be included. In this case, the *
character is used to mean "match this
with any list of characters in the variable name, until the next control
character is reached", and the ?
character means "match this with any
single character in the variable name".
GLOBAL
or SHARED
should be employed before the first use of the
variable. Only strings may be used for this technique.
GLOBAL var[, var[, ...]] GLOBAL string GLOBAL var1[, var2[, ...] ] GLOBAL "string1"[, "string2"[, ...] ]
Join BASIC 10Liner Contest with ugBASIC!
An interesting competition is held at the beginning of each year: the
BASIC 10Liner Contest.
It is possible to use ugBASIC to participate in the next
"BASIC10Liner" competition, in the following categories:
GLOBAL ↔ Gb
If you have found a problem with this keyword, if you think there is a bug or, more
simply, you would like it to be improved, open an issue for this example on GitHub.
Thank you!
open an issue
BACK TO KEYWORDS