GLOBAL var[, var[, ...]] GLOBAL string GLOBAL var1[, var2[, ...] ] GLOBAL "string1"[, "string2"[, ...] ]
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 var42 GLOBAL "a*" GLOBAL test GLOBAL "a*", b, "*c"
See also the following example files:
Gb
If you have encountered a problem using this command, if you think there is a bug or the explanation is unclear, please open an issue for this keyword on GitHub. Thank you!