Объекты
Тип obj служит для хранения значений следующих типов - int, bool, float, str, arr.obj, map.obj. Если объекту не присвоено никакое значение, то он равен nil. Объекту можно присваивать значения типа, который отличается от текущего. Здесь описаны операторы и функции для работы с объектами.
Типы
fn cmpobjfunc(obj, obj) int
Тип функций cmpobjtype служит для сравнения двух объектов. Функции этого типа используются для сортировки объектов в массиве.
Операторы
Функции
arr(obj o) arr.obj
Функция arr возвращает массив объектов. Объект o должен быть массивом, в противном случае возвращается ошибка. При вызове функции не создается нового массива, а возвращается текущий массив, который содержит объект o.
arrstr(obj o) arr.str
Функция arrstr конвертирует массив объектов в массив строк. Объект o должен быть массивом, в противном случае возвращается ошибка. Функция возвращает полученный массив строк.
bool(obj o) bool
Функция bool возвращает логическое значение текущего типа. Например, если объект содержит строку, то возвращается результат вызова bool(str). Если объект не определен, то возвращается ошибка.
bool(obj o, bool def) bool
Функция bool возвращает логическое значение текущего типа. Если объект не определен, то возвращается второй параметр.
float(obj o) float
Функция float конвертирует объект в действительное число. Объект должен содержать значение типа str, int, float, в противном случае, возвращается ошибка.
float(obj o, float def) float
Функция float конвертирует объект в действительное число. Если объект не определен, то возвращается второй параметр.
int(obj o) int
Функция int конвертирует объект в целое число. Объект должен содержать значение типа str, int, float, bool, в противном случае, возвращается ошибка.
int(obj o, int def) int
Функция int конвертирует объект в целое число. Если объект не определен, то возвращается второй параметр.
IsArray(obj o) bool
Функция IsArray возвращает true, если объект является массивом. В противном случае, функция возвращает false.
IsMap(obj o) bool
Функция IsMap возвращает true, если объект является ассоциативным массивом (map). В противном случае, функция возвращает false.
IsNil(obj o) bool
Функция IsNil возвращает true, если объект не определен (равен nil). В противном случае, функция возвращает false.
item(obj o, int i) obj
Функция item возвращает i-й элемент объекта. Объект должен иметь тип arr.obj. Если элемент отсутствует, то возвращается пустой объект.
item(obj o, str s) obj
Функция item возвращает значение ключа s. Объект должен иметь тип map.obj. Если элемент отсутствует, то возвращается пустой объект.
map(obj o) map.obj
Функция map возвращает ассоциативный массив объектов. Объект o должен быть ассоциативным массивом (map), в противном случае возвращается ошибка. При вызове функции не создается нового массива, а возвращается текущий map, который содержит объект o.
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 значением.
Sort(arr.obj o, cmpobjfunc cmpfunc) arr.obj
Функция Sort сортирует массив объектов и возвращает его. Сортировка происходит с помощью функции типа cmpobjfunc.
str(obj o) str
Функция str преобразует объект в строку и возвращает её.
str(obj o, str def) str
Функция str преобразует объект в строку и возвращает её. Если объект не определен, то возвращается второй параметр.
Type(obj o) str
Функция Type возвращает тип значения указанного объекта. Могут возвращаться следующие типы: int, bool, float, str, arr.obj, map.obj. Если объект не определен, то возвращается nil.
Last updated