Перейти к содержанию

Типы данных

Типы данных, используемые в шаблонном движке JuniperBot


В данном разделе описываются все типы данных, используемые в шаблонном движке JuniperBot.

У некоторых типов данных методы могут иметь квоту вызовов. Квота означает сколько раз можно вызвать этот метод за шаблон. Вызовы, превышающие указанную квоту, будут проигнорированы и не будут выполнять никаких действий.

Примитивы#

Самыми базовыми выражениями являются примитивы, посмотрите на таблицу ниже:

Название Примеры
Дробные числа -1.5, 5.7, 1.0
Целые числа -10, 56, 0
Нулевая ссылка null
Логический тип true или false
Строка "строка в двойных скобочках"
'строка в апострофах'
Символ 'ф'

Списки#

Объявить список можно либо упорядоченным перечислением элементов списка явно, либо указанием диапазона значений. Для объявления упорядоченных списков значений или результатов выражений необходимо явно перечислить их через запятую в квадратных скобках, например:

[1, 2, 3]

Для объявления списка через диапазон значений необходимо указать лишь начальный и конечный элемент списка:

[1..3]

Оба примера будут иметь одинаковый результат.

Методы#

Метод Параметры Возвращает Описание
add(Элемент) Число
Строка
Логический
Логический Добавляет указанный элемент в конец списка.
Возвращает true, если элемент был добавлен.
addAll(Список) Список Логический Добавляет все элементы указанного списка в конец текущего списка.
Возвращает true, если в результате этого список был изменён.
replace(Индекс, Элемент) Индекс:
Число

Элемент:
Число
Строка
Логический
Число
Строка
Логический
Заменяет элемент по указанному индексу на указанное значение.
Возвращает предыдущее значение этой позиции.
remove(Элемент) Число
Строка
Логический
Логический Удаляет первый найденный элемент из списка с указанным значением.
Возвращает true, если элемент был удалён.
removeAll(Список) Список Логический Удаляет все найденные элементы из списка.
Возвращает true, если был удалён хотя бы один элемент.
removeAt(Индекс) Число Число
Строка
Логический
Удаляет элемент по указанному индексу.
Возвращает удалённый элемент списка.
contains(Элемент) Число
Строка
Логический
Логический Проверяет наличие указанного элемента в списке.
Возвращает true, если такой элемент существует.
containsAll(Список) Список Логический Проверяет наличие всех указанных элементов в списке.
Возвращает true, если указанные элементы существуют.
containsAny(Список) Список Логический Проверяет наличие хотя бы одного из указанных элементов в списке.
Возвращает true, если хотя бы один указанный элемент существует.
indexOf(Элемент) Число
Строка
Логический
Число Возвращает индекс элемента в списке или -1 если такого элемента нет.
countOf(Элемент) Число
Строка
Логический
Число Возвращает количество вхождений указанного элемента в список.
clear() - - Полностью очищает список.

Внимание

Модифицирующие методы доступны только для списков, созданных упорядоченным перечислением элементов по примеру выше.

Карта (Map)#

Карта — это структура данных, в которой значения хранятся не по одному как в списке выше, а в паре "ключ - значение". Ключом карты может быть любой идентификатор или строка, а значением — уже любое выражение. Объявляются карты следующим образом:

{ key1: 'value1', 'key 2': 'value2' }

Имейте в виду, что идентификаторы, представленные ключами, не являются названиями переменных, они всегда конвертируются в их строковое представление. Таким образом идентификатор key1 внутри карты будет строкой "key1".

Методы#

Указанные методы доступны только для карт, созданных вручную по примеру выше.

Метод Параметры Возвращает Описание
put(Ключ, Значение) Ключ:
Строка

Значение:
Число
Строка
Логический
Число
Строка
Логический
Добавляет в карту новую пару ключ-значение. Если указанный ключ уже есть в карте, заменяет его значение на новое.
Возвращает предыдущее значение указанного ключа или null если такого не было
putAll(Карта) Карта - Добавляет все элементы указанной карты в текущую.
putIfAbsent(Ключ, Значение) Ключ:
Строка

Значение:
Число
Строка
Логический
Число
Строка
Логический
Добавляет новую пару ключ-значение только если значения для указанного ключа в карте ещё нет.
Возвращает существующее значение указанного ключа или null если такого не было
remove(Ключ) Строка Число
Строка
Логический
Удаляет пару ключ-значение по указанномую ключу.
Возвращает предыдущее значение указанного ключа или null если такого не было
remove(Ключ, Значение) Ключ:
Строка

Значение:
Число
Строка
Логический
Логический Удаляет пару ключ-значение по указанномую ключу и значению.
Возвращает true если удаление успешно
containsKey(Ключ) Строка Логический Возвращает true, если карта содержит указанный ключ.
containsValue(Значение) Число
Строка
Логический
Логический Возвращает true если есть хотя бы один ключ с указанным значением.
clear() - - Полностью очищает карту

DateTime#

Этот тип данных описывает объект даты и времени и операции над ними.

Свойства#

Свойство Тип Описание
millis Число Миллисекунды
millisOfDay Число Миллисекунды дня
millisOfSecond Число Миллисекунды секунды
secondOfDay Число Секунда дня
secondOfMinute Число Секунда минуты
minuteOfDay Число Минута дня
minuteOfHour Число Минута часа
hourOfDay Число Час дня
dayOfMonth Число День месяца
dayOfWeek Число День недели
dayOfYear Число День в году
weekOfWeekyear Число Неделя в году
weekyear Число Год с учетом недели1
monthOfYear Число Месяц в году
year Число Год
yearOfCentury Число Год века
yearOfEra Число Год эпохи
centuryOfEra Число Век эпохи
era Число Эпоха
zoneOffset Число Смещение часового пояса в миллисекундах
isAfterNow Логический true если дата в будущем
isBeforeNow Логический true если дата в прошлом

Методы#

Методы ниже не модифицирует текущий экземпляр, а возвращают новый.

Метод Параметры Возвращает Описание
plusMillis(Значение) Число DateTime Возвращает копию этой даты плюс указанное количество миллисекунд
plusSeconds(Значение) Число DateTime Возвращает копию этой даты плюс указанное количество секунд
plusMinutes(Значение) Число DateTime Возвращает копию этой даты плюс указанное количество минут
plusHours(Значение) Число DateTime Возвращает копию этой даты плюс указанное количество часов
plusDays(Значение) Число DateTime Возвращает копию этой даты плюс указанное количество дней
plusWeeks(Значение) Число DateTime Возвращает копию этой даты плюс указанное количество недель
plusMonths(Значение) Число DateTime Возвращает копию этой даты плюс указанное количество месяцев
plusYears(Значение) Число DateTime Возвращает копию этой даты плюс указанное количество лет
minusMillis(Значение) Число DateTime Возвращает копию этой даты минус указанное количество миллисекунд
minusSeconds(Значение) Число DateTime Возвращает копию этой даты минус указанное количество секунд
minusMinutes(Значение) Число DateTime Возвращает копию этой даты минус указанное количество минут
minusHours(Значение) Число DateTime Возвращает копию этой даты минус указанное количество часов
minusDays(Значение) Число DateTime Возвращает копию этой даты минус указанное количество дней
minusWeeks(Значение) Число DateTime Возвращает копию этой даты минус указанное количество недель
minusMonths(Значение) Число DateTime Возвращает копию этой даты минус указанное количество месяцев
minusYears(Значение) Число DateTime Возвращает копию этой даты минус указанное количество лет
isAfter(Дата) DateTime Логический Является ли эта дата позже указанной
isBefore(Дата) DateTime Логический Является ли эта дата раньше указанной


  1. В определенные годы первая неделя начинается в декабре, например, в декабре 1997 года. В другие годы первая неделя начинается с 53-й недели предыдущего года, как, например, в январе 1999 года. В течение этих нескольких дней, когда номер недели текущего года относится к предыдущему году, свойства year и weekyear возвращают разные значения.