Объекты

Тип obj служит для хранения значений следующих типов - int, bool, float, str, arr.obj, map.obj. Если объекту не присвоено никакое значение, то он равен nil. Объекту можно присваивать значения типа, который отличается от текущего. Здесь описаны операторы и функции для работы с объектами.

Операторы

Оператор

Результат

Описание

*obj

int

Если объект является arr.obj или map.obj, то возвращается количество элементов в массиве. В противном случае, возвращается 0.

obj ?

bool

Вызов bool(obj).

obj = arr.typename

obj

Присваивание массива объекту.

obj = bool

obj

Присваивание логического значения объекту.

obj = float

obj

Присваивание десятичного числа объекту.

obj = int

obj

Присваивание числа объекту.

obj = map.typename

obj

Присваивание ассоциативного массива объекту.

obj = obj

obj

Присваивание объектов.

obj = str

obj

Присваивание строки объекту.

obj &= obj

obj

Создать клон объекта. Новая переменная будет работать с тем же набором данных.

obj [ int/str ]

obj

Присвоить/получить значение массива по индексу. Если объект не является arr.obj или map.obj, то возвращается ошибка.

Функции

bool(obj o) bool

Функция bool возвращает логическое значение текущего типа. Например, если объект содержит строку, то возвращается результат вызова bool(str). Если объект не определен, то возвращается ошибка.

float(obj o) float

Функция float конвертирует объект в действительное число. Объект должен содержать значение типа str, int, float, в противном случае, возвращается ошибка.

int(obj o) int

Функция int конвертирует объект в целое число. Объект должен содержать значение типа str, int, float, bool, в противном случае, возвращается ошибка.

IsNil(obj o) bool

Функция IsNil возвращает true, если объект не определен (равен nil). В противном случае, функция возвращает false.

obj(arr.typename a) obj

Функция obj конвертирует массив типа arr в объект.

obj(bool b) obj

Функция obj создает объект с указанными логическим значением.

obj(float f) obj

Функция obj создает объект с указанными float значением.

obj(int i) obj

Функция obj создает объект с указанными int значением.

obj(map.typename m) obj

Функция obj конвертирует ассоциативный массив типа map в объект.

obj(str s) obj

Функция obj создает объект с указанными str значением.

str(obj o) str

Функция str преобразует объект в строку и возвращает её.

Type(obj o) str

Функция Type возвращает тип значения указанного объекта. Могут возвращаться следующие типы: int, bool, float, str, arr.obj, map.obj. Если объект не определен, то возвращается nil.