void в действительности не является типом данных, больше похоже на отсутствие данных. Может быть использована для указания компилятору, что функция не возвращает данные.
bool это логический тип с двумя возможными значениями: правда или ложь. Ключевые слова истинного и ложного константы, которые могут быть использованы в качестве таковых в выражениях.
| type | min value | max value |
int8 | -128 | 127 |
int16 | -32,768 | 32,767 |
int | -2,147,483,648 | 2,147,483,647 |
int64 | -9,223,372,036,854,775,808 | 9,223,372,036,854,775,807 |
uint8 | 0 | 255 |
uint16 | 0 | 65,535 |
uint | 0 | 4,294,967,295 |
uint64 | 0 | 18,446,744,073,709,551,615 |
Так как скриптовый движок был оптимизирован для 32 разрядных типов данных, использование меньшего варианта рекомендуется только для доступа к специфическим переменным. Для локальных переменных лучше использовать 32-битный вариант.
| type | range of values | smallest positive value | maximum digits |
float | +/- 3.402823466e+38 | 1.175494351e-38 | 6 |
double | +/- 1.7976931348623158e+308 | 2.2250738585072014e-308 | 15 |
Интересно: Реальное число может также иметь дополнительные значения положительной и отрицательной 0 или бесконечности, и NaN (Not-a-Number). NaN представлен 32 битным 0x7fc00000.
int[] a, b, c;
a, b, и c теперь массивы целых чисел.
При объявлении массива можно определить начальный размер массива указанием длины в качестве параметра конструктору. Элементы могут индивидуально инициализироваться указанием списка. Пример:
int[] a; // Нулевой массив целых
int[] b(3); // Массив целых из 3-х элементов
int[] c = {,3,4,}; // Массив целых из 4-х элементов, где второй и третий инициализированны
Доступ к элементу массива осуществляется по индексу. Индексы с нуля, т.е. диапазон допустимых индексов от 0 до длины - 1.
Массив имеет два полезных метода - length() (определяет длину) и resize() (изменяет размер).
Обьекты
Есть две возможности представить объект, ссылка и значение.Значения располагаются на стеке и освобождаются, когда переменная выходит из области видимости.
Ссылки выделяются на куче, и могут пережить первоначальную переменную, если существует ссылка на другой экземпляр.
Хендлы
Хендл объекта - особый тип, который может использоваться для хранения ссылок на другие объекты. При вызове методов или свойств доступа к переменной, которая является хендлом, вы будете получать доступ к реальному объекту. Обратите внимание на то, что не инициализированный хендл являетсяnull.obj o; obj@ a; // a инициалицирована с null obj@ b = @o; // b содержит ссылку на o b.ModifyMe(); // Метод модифицирует оригинальный обьект if( a is null ) // Проверяем содержимое a { @a = @b; // Позволяем a ссылать на тоже, что и b }Не все типы позволяют использовать хендл. Ни один из примитивных типов не может иметь хендла. Возможность использования хендла определяется на этапе регистрации.
| sequence> | value | description
|
\0 | 0 | Ноль |
\\ | 92 | Обратный слеш |
\' | 39 | Апостроф |
\" | 34 | Двойной апостроф |
\n | 10 | Новая строка |
\r | 13 | Возврат |
\t | 9 | Таб |
\xFF | 0xFF | Шестнадцатеричное число |
\uFFFF | 0xFFFF | Шестнадцатеричное число |
\UFFFFFFFF | 0xFFFFFFFF | Шестнадцатеричное число |
string str1 = "Это строка с \"со слешами\"."; s string str2 = 'В одинарных кавычках можно использовать двойные "без слешей".';
Комментировать строки также можно с помощью тройных кавычек (
Если более чем одна строка констант записываются в последовательности только с пробелами, компилятор объединит их в одну константу.
"""ode>), ).
string str = """
блаблабла
блабла
бла
""";
string str = "First line.\n"
"Second line.\n"
"Third line.\n";