Comment on page
Объекты
Тип obj служит для хранения значений следующих типов - int, bool, float, str, arr.obj, map.obj. Если объекту не присвоено никакое значение, то он равен nil. Объекту можно присваивать значения типа, который отличается от текущего.
Здесь описаны операторы и функции для работы с объектами.
Тип функций cmpobjtype служит для сравнения двух объектов. Функции этого типа используются для сортировки объектов в массиве.
Оператор | Результат | Описание |
*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 &= obj | obj | Создать клон объекта. Новая переменная будет работать с тем же набором данных. |
obj [ int/str ] | obj | Присвоить/получить значение массива по индексу. Если объект не является arr.obj или map.obj, то возвращается ошибка. |
Функция arr возвращает массив объе ктов. Объект o должен быть массивом, в противном случае возвращается ошибка. При вызове функции не создается нового массива, а возвращается текущий массив, который содержит объект o.
Функция arrstr конвертирует массив объектов в массив строк. Объект o должен быть массивом, в противном случае возвращается ошибка. Функция возвращает полученный массив строк.
Функция bool возвращает логическое значение текущего т ипа. Например, если объект содержит строку, то возвращается результат вызова bool(str). Если объект не определен, то возвращается ошибка.
Функция bool возвращает логическое значение текущего типа. Если объект не определен, то возвращается втор ой параметр.
Функция float конвертирует объект в действительное число. Объект должен содержать значение типа str, int, float, в противном случае, возвращается ошибка.
Функция float конвертирует объект в действительное число. Если объект не определен, то возвращается второй параметр.
Функция int конвертирует объект в целое число. Объект должен содержать значение типа str, int, float, bool, в противном случае, возвращается ошибка.
Функция int конвертирует объект в целое число. Если объект не определен, то возвращается второй параметр.
Функция IsArray возвращает true, если объект является массивом. В противном случае, функция возвращает false.
Функция IsMap возвращает true, если объект является ассоциативным массивом (map). В противном случае, функция возвращает false.
Функция IsNil возвращает true, если объект не определен (равен nil). В противном случае, функция возвращает false.
Функция item возвращает i-й элемент объекта. Объект должен иметь тип arr.obj. Если элемент отсутствует, то возвращается пустой объект.
Функция item возвращает значение ключа s. Объект должен иметь тип map.obj. Если элемент отсутствует, то возвращается пустой объект.
Функция map возвращает ассоциативный массив объектов. Объект o должен быть ассоциативным массивом (map), в противном случае возвращается ошибка. При вызове функции не создается нового массива, а возвращается текущий map, который содержит объект o.
Функция obj конвертирует массив типа arr в объект.
Функция obj создает объект с указанными логическим значением.
Функция obj создает объект с указанными float значением.
Функция obj создает объект с указанными int значением.
Функция obj конвертирует ассоциативный массив типа map в объект.
Функция obj создает объект с указанными str значением.
Функция Sort сортирует массив объектов и возвращает его. Сортировка происходит с помощью функции типа cmpobjfunc.
func mySort(obj left, obj right) int {
if str(left) < str(right) : return -1
if str(left) > str(right) : return 1
return 0
}
run str {
arr a = {"qwr","7","10","ab","тест","абв", "ka"}
obj o = a
Sort( arr(o), &mySort.cmpobjfunc )
...
}
Функция str преобразует объект в строку и возвращает её.
Функция str преобразует объект в строку и возвращает её. Если объект не определен, то возвращается второй параметр.
Функция Type возвращает тип значения указанного объекта. Могут возвращаться следующие типы: int, bool, float, str, arr.obj, map.obj. Если объект не определен, то возвращается nil.
Last modified 3yr ago