Обновлена 15 сентября 2026 г. в 08:55
sequence_object:next()
Генерация следующего значения и его возврат.
Алгоритм генерации прост:
- Если это первый вызов, возвращается значение STARTS WITH.
- Если предыдущее значение плюс значение INCREMENT меньше значения
MINIMUM или больше значения MAXIMUM, это «переполнение», поэтому либо
выводится ошибка (если
cycle=false), либо возвращается значение MAXIMUM (еслиcycle=trueиstep< 0), либо возвращается значение MINIMUM (еслиcycle=trueиstep> 0).
Если ошибки не было, возвращенный результат сохраняется — теперь это «предыдущее значение».
Например, предположим, что последовательность 'S' имеет:
min== -6,max== -1,step== -3,start= -2,cycle= true,- предыдущее значение = -2.
Тогда box.sequence.S:next() вернет -5, потому что -2 + (-3) == -5.
Затем box.sequence.S:next() снова вернет -1, потому что -5 + (-3) < -6,
что является переполнением, вызывающим цикл, а max == -1.
Эта функция требует права «write» на последовательность.