Gentee
  • Скриптовый язык программирования Gentee
  • Синтаксис языка
    • Лексические элементы
    • Типы
    • Описания
    • Конструкции языка
    • Обработка ошибок
    • Выражения
    • Запуск программ
    • Многопоточность
    • Включение и импорт файлов
  • Стандартная библиотека
    • Архивация
    • Ассоциативные массивы
    • Буфер
    • Время
    • Конвертация
    • Консоль
    • Константы
    • Контекст
    • Криптография
    • Логический тип
    • Массивы
    • Многопоточность
    • Множества
    • Объекты
    • Процесс
    • Путь
    • Рантайм
    • Регулярные выражения
    • Сеть
    • Символьный тип
    • Система
    • Строки
    • Файлы
    • Целые числа
    • Числа с плавающей точкой
  • Интеграция с Go
    • Документация
    • Компиляция и выполнение
    • Дополнительные возможности
    • Песочница
  • Сменить язык
    • English
Powered by GitBook
On this page
  • Типы
  • fn cmpobjfunc(obj, obj) int
  • Операторы
  • Функции
  • arr(obj o) arr.obj
  • arrstr(obj o) arr.str
  • bool(obj o) bool
  • bool(obj o, bool def) bool
  • float(obj o) float
  • float(obj o, float def) float
  • int(obj o) int
  • int(obj o, int def) int
  • IsArray(obj o) bool
  • IsMap(obj o) bool
  • IsNil(obj o) bool
  • item(obj o, int i) obj
  • item(obj o, str s) obj
  • map(obj o) map.obj
  • obj(arr.typename a) obj
  • obj(bool b) obj
  • obj(float f) obj
  • obj(int i) obj
  • obj(map.typename m) obj
  • obj(str s) obj
  • Sort(arr.obj o, cmpobjfunc cmpfunc) arr.obj
  • str(obj o) str
  • str(obj o, str def) str
  • Type(obj o) str

Was this helpful?

  1. Стандартная библиотека

Объекты

PreviousМножестваNextПроцесс

Last updated 4 years ago

Was this helpful?

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

Типы

fn cmpobjfunc(obj, obj) int

Тип функций 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(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.

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(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.

arr( obj o ) arr.obj
arrstr( obj o ) arr.str
bool( obj o ) bool
bool( obj o, bool def ) bool
float( obj o ) float
float( obj o, float def ) float
int( obj o ) int
int( obj o, int def ) int
IsArray( obj o ) bool
IsMap( obj o ) bool
IsNil( obj o ) bool
item( obj o, int i ) obj
item( obj o, str s ) obj
map( obj o ) map.obj
obj( arr.typename a ) obj
obj( bool b ) obj
obj( float f ) obj
obj( int i ) obj
obj( map.typename m ) obj
obj( str s ) obj
Sort( arr.obj o, cmpobjfunc cmpfunc ) arr.obj
str( obj o ) str
str( obj o, str def ) str
Type( obj o ) str