Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

High Level Constructs


unit

Units are groupings of functions and also variables.

They can be thought of as modules or namespaces. A Mezzanine script must have at least one unit.Unit must be followed with a unique unit name. Units are defined as follows.

 

Info
  1. unit MyUnit;
  2. // Other code follows
  3.  
  4. string myVar;
  5.  
  6. int factorial(int x) {
  7.     if(== 0 || x == 1) {
  8.         return 1;
  9.     } else if (> 1) {
  10.         return factorial(- 1);
  11.     }
  12.  
  13.     return 0;
  14. }

Status
colourBlue
titleHeads Up
 Objects, enums and validators are global, so they can optionally be in a separate source code file without a unit.

Unit

Units are groupings of functions and also variables. They can be thought of as modules or namespaces. A Mezzanine script must have at least one unit. Units are defined as follows

 

Info
  1. unit MyUnit;
  2.  
  3. string myVar;
  4.  
  5. int factorial(int x) {
  6.     if(== 0 || x == 1) {
  7.         return 1;
  8.     } else if (> 1) {
  9.         return factorial(- 1);
  10.     }
  11. }

 

This unit has one unit variable named myVar. This variable has unit scope and can be accessed by any function in the unit. The unit also has a function named factorial. A unit must have at least one function. To refer to a unit’s member functions or variables from another unit, you have to use the scope operator

 

Info
  1. unit TestUnit;
  2.  
  3. void test() {
  4.     MyUnit:myVar = "New string value!";
  5.     int f = MyUnit:factorial(5);
  6. }

 

Note: Unit variables cannot be in line initialized when they are declared. The following code will not compile

 

Info
  1. unit MyUnit;
  2.  
  3. string myVar = "some value"; // this is not a legal statement