|
|
(26 intermediate revisions by the same user not shown) |
Line 1: |
Line 1: |
− | <br>
| |
| | | |
− | EGL native types are in three categories:
| |
− |
| |
− | :[[Declaring data#Values_of_simple_value_types|Simple value types]]:
| |
− |
| |
− | ::BigInt, Bytes(''n''), Date, Decimal(''n''), Decimal(''n'', ''p''),
| |
− |
| |
− | ::Float, Int, SmallFloat, SmallInt, Timestamp(''pattern'')
| |
− |
| |
− | :[[Declaring data#Values_of_simple_reference_types|Simple reference types]]:
| |
− |
| |
− | ::Bytes, Decimal, Number, String (now a value type),
| |
− |
| |
− | ::String(''n''), Timestamp (now a value type)
| |
− |
| |
− | :[[Declaring data#Values_of_other_reference_types|Other reference types]]:
| |
− |
| |
− | ::Any, Dictionary, List
| |
− |
| |
− | <br>Your custom types are based on these EGL classifiers:
| |
− |
| |
− | :Delegate, Enumeration, ExternalType, Handler,
| |
− | :Interface, Library, Program, Record, Service
| |
− |
| |
− | <br>
| |
− |
| |
− | = <br> '''Values of simple value types''' =
| |
− |
| |
− | <source lang="java">
| |
− | /** Character value types. **/
| |
− | /** Note: String without parameter will be a reference type in EDT 1.0. **/
| |
− |
| |
− | // defaults to "".
| |
− | 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.
| |
− | // (constant lists and dictionaries are changeable; their elements are not.)
| |
− | const LANGUAGE String = "EGL";
| |
− |
| |
− |
| |
− | /** Numeric value types. **/
| |
− |
| |
− | // defaults to 0.
| |
− | someVal Int;
| |
− |
| |
− | // defaults to 0.0.
| |
− | coord Float;
| |
− |
| |
− | // 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;
| |
− |
| |
− | // defaults to now. the second declaration uses the default pattern.
| |
− | now TIMESTAMP("ddHHmmssffffff");
| |
− | later TIMESTAMP("yyyyMMddHHmmss");
| |
− |
| |
− |
| |
− | /** Boolean type **/
| |
− |
| |
− | // defaults to false.
| |
− | toggle Boolean;
| |
− | </source>
| |
− |
| |
− | = Values of simple reference types =
| |
− |
| |
− | <br>
| |
− |
| |
− | <br>
| |
− |
| |
− | = Values of other reference types =
| |
− |
| |
− | == Values of type Any ==
| |
− |
| |
− | <source lang="java">
| |
− |
| |
− |
| |
− | </source>
| |
− |
| |
− | == Values of type Dictionary ==
| |
− |
| |
− | <source lang="java">
| |
− |
| |
− |
| |
− | </source>
| |
− |
| |
− | <br>
| |
− |
| |
− | <br>
| |
− |
| |
− | == Values of type List ==
| |
− |
| |
− | <source lang="java">
| |
− |
| |
− | // new dynamic array of size 0
| |
− | vals Int[];
| |
− |
| |
− | // dynamic list, but not instantiated (vals must be instantiated before it can be accessed)
| |
− | vals Int[]?;
| |
− |
| |
− | // new dynamic array of size 4; all values set to their default value (0 in this example)
| |
− | vals Int[] = new Int[4];
| |
− |
| |
− | // dynamic array, initialized with 4 values
| |
− | names String[] = [ "Paul", "John", "George", "Ringo" ];
| |
− |
| |
− | // assigns the first index in the array to "Bob"
| |
− | names[1] = "Bob";
| |
− |
| |
− | // assigns the last index in the array to "Ken"
| |
− | names[names.getSize()] = "Ken";
| |
− |
| |
− | // new dynamic array of size 0
| |
− | cities String[];
| |
− |
| |
− | // appends a new value to the end of the array
| |
− | cities.appendElement("Delta");
| |
− |
| |
− | // appends two new values to the end of the list cities.
| |
− | cities.appendAll([ "Denver", "Pueblo" ]);
| |
− |
| |
− | // removes the second value in the array
| |
− | removeElement(2);
| |
− |
| |
− | // removes all values from the array
| |
− | cities.removeAll();
| |
− | </source>
| |
− |
| |
− | <br> '''Constants'''
| |
− |
| |
− | <source lang="java">
| |
− | // The value is not changeable.
| |
− | const NUMBEROFDAYS Int = 7;
| |
− |
| |
− | // The element values are changeable, but the name cannot refer to another list.
| |
− | const MINIMUMNUMBERS INT[] = [1,2,3,4,5];
| |
− | </source>
| |
− |
| |
− | <br>
| |
− |
| |
− | <br> <br>
| |
− |
| |
− | <br>
| |