Jump to: navigation, search

EDT:Declaring data

This page contains code snippets for native types.

EGL native types are in three categories:

Simple value types:
BigInt, Date, Decimal(n), Decimal(n, p),
Float, Int, SmallFloat, SmallInt, Timestamp(pattern)
Simple reference types:
Decimal, Number, String (now a value type),
Timestamp (now a value type)
Other reference types:
Any, Dictionary, List


  • The as operator casts a value from one type to another. 
  • The isa operator tests whether a value is of a given type. 

See also Working with custom types.

Values of simple value types

/** Character value types. **/
/** Note: String without parameter will be a reference type in EDT 1.0. **/

// Defaults to an empty string.
firstName String;

// Defaults to null.           
secondName String?; 

// Initializes value to "John" and allows a future value to be null.         
thirdName String? = "John";  

// Initializes the value, which is unchangeable. 
// Note: the elements of constant lists and dictionaries are changeable.)
const LANGUAGE String = "EGL";        

/** Numeric value types. **/ 
// Defaults to 0.
someVal Int;                

// Defaults to 0.0.
coord Float;       

// Initializes value to 4.5
distance Float = 4.5;

// Initializes value to 4 
newDistance int = distance as int; 

// Defaults to 000.00.
// Can hold 5 digits total, with 2 after the decimal point.             
amount Decimal(5,2);        

/** Date-and-time value types. **/

// Defaults to today's date.
today Date; 

// Initializes the date to 30 January 2015.
future Date = "01/30/2015";

// Defaults to now. the second declaration uses the default pattern.
now TIMESTAMP("ddHHmmssffffff");
later TIMESTAMP("yyyyMMddHHmmss");

/** Boolean type **/

// Defaults to false.         
toggle Boolean;

Values of simple reference types

Values of type Any

Values of type Dictionary

// initializes a dictionary with 3 key/value pairs.  
// By default, the keys are case insensitive.
myRef Dictionary {
   driverID  = 5,
   lastName  = "Twain",
   firstName = "Mark"

// adds new key/value pairs to the dictionary
myRef.age = 30;
myRef["Credit"] = 700;

// overrides an existing key/value pair
myRef.lastname = "Clemens"; 

// declare a dictionary that is case sensitive and stores 
// values in the order they are added to the dictionary
myOtherRef Dictionary = new Dictionary(true /*caseSensitive*/, OrderingKind.byInsertion);

Values of type List

// declares a new list, disallowing nulls.
vals Int[];               
// declares a new list, allowing nulls.
nullVals Int?[];

// declares a new list, adds 30 elements, and initializes each element to zero.
newVals Int[] = new Int[30];

// declares a list of 2 strings by use of a set-values block
departurePhrase  STRING[] = ["goodbye", "ciao"];
// assigns the first index in the array to "au revoir"
departurePhrase[1] = "au revoir";                               

// assigns the last index in the list to "auf wiedersehen".          
departurePhrase[departurePhrase.getSize()] = "auf wiedersehen";                 

// initializes a list of 3 integers
integerList    INT[] = [1,2,3];

// initializes a list of 2 booleans
booleanList    BOOLEAN[] = [ (10000 > 50000), (10000 < 50000) ];   

//initializes a 2-dimensional list; that is, a list of lists
the2Dimension  INT[][] = [[1,2],[3,4]];

// creates a value in which the element values are changeable, 
// but the name MINIMUMNUMBERS cannot refer to another list.
const MINIMUMNUMBERS INT[] = [1,2,3,4,5];

// declares another list of strings.
cities String[];              

// appends a new value to the end of the list.             

// appends two new values to the end of the list.
cities.appendAll([ "Denver", "Pueblo" ]);  

// removes the second value in the list.

// removes all values from the list.

Code snippets main page