Available on: all targets
See also: SHARED

GLOBAL

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.

SYNTAX

 GLOBAL var[, var[, ...]]
 GLOBAL string
 GLOBAL var1[, var2[, ...] ]
 GLOBAL "string1"[, "string2"[, ...] ]


Legend
  • id : identifier
  • type : datatype
  • v : value
  • "..." : string
  • [...] : optional

EXAMPLE

 GLOBAL var42
 GLOBAL "a*"
 GLOBAL test
 GLOBAL "a*", b, "*c"


Used in:

ABBREVIATION: Gb

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:

  • PUR-120 - A game in 10 lines of max 120 characters (w/abbrev.)
  • EXTREME-256 - A game in 10 lines of max 256 characters (w/abbrev.)
  • SCHAU - Any program in 10 lines of max 256 characters (w/abbrev.)
In order to reduce space you can use this abbreviation for this instruction:

GLOBAL ↔ Gb

Any problem?

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