Работа с последовательностями¶
sequence
– генератор уникальных возрастающих целых чисел.
Уникальность чисел гарантируется в пределах отдельной последовательности с заданным именем даже при вызове
из разных файберов или на разных экземплярах.
Чтобы обеспечить уникальность при вызовах из разных экземпляров, используется роль core
.
Эта роль выделяет доступные диапазоны чисел.
Новый диапазон чисел выделяется:
при первом обращении,
при исчерпании выданного ранее диапазона.
По умолчанию для экземпляров или файберов выделяются диапазоны по 10 номеров.
sequence¶
- sequence.get(sequence_name)¶
Возвращает ссылку на объект заданной последовательности. Если последовательность с таким именем отсутствует, создаёт новую последовательность. Объект последовательности имеет единственный метод
next
, который возвращает следующий элемент последовательности.Пример использования
На двух разных экземплярах один раз вызывается обработчик, заполняющий поле объекта уникальным номером с помощью метода
next
. Тогда на первом экземпляре номер объекта будет1
, а на втором –11
. Если после этого каждый обработчик вызывать еще 9 раз, то номера объектов будут2
–10
и12
–20
соответственно. При повторном запуске обработчика на первом экземпляре объекту будет присвоен номер21
.- Parameters
sequence_name – имя последовательности
- Returns
ссылка на объект последовательности
- Return type
table