Skip to main content

Простой Кортеж

Простой Кортеж (имя собственное) - это однородная (целочисленная), неизменяемая структура данных, упорядоченный набор фиксированной длинны, значения элементов которого имеют ограниченный диапазон. Внешне Простой Кортеж напоминает Одномерный Массив или Список чисел (где каждый элемент списка имеет свой фиксированный порядковый номер). Например: "1,3,5,7,9,".

ВАЖНО: Здесь и далее речь идёт ИСКЛЮЧИТЕЛЬНО о функционале «Простых Кортежей» и их особенностях в конструкторе @MenuBuilderBot. В общем случае, а так же в программировании Кортежи имеют ИНЫЕ свойства, особенности и определения.

В целом, работа с Кортежами чем-то напоминает работу с Флагами.

❖ Особенности Простых Кортежей

Что важно знать о Простых Кортежах:
● Простые Кортежи доступны и хранятся ТОЛЬКО в Переменной «Простой Кортеж».
● Имя переменной это имя Кортежа.
● Длина Простого Кортежа ВСЕГДА 100 Элементов. При выводе данных посредством макроса переменной - пустые ячейки обозначаются нулями. Пустой Простой Кортеж покажет 100 нулей.
● Количество Элементов (Ячеек) в Простом Кортеже которые можно заполнить - от 1 до 100.
● Элементы в Простом Кортеже могут быть ТОЛЬКО числовыми.
● Числа в Простом Кортеже могут быть только ЦЕЛЫМИ (не дробными).
● Элементы в Кортеже имеют диапазон значений от 0 до 255.
● Значения Элементов кортежа НЕЛЬЗЯ изменять (нельзя добавить и нельзя убрать). Кортеж можно только СОЗДАТЬ или УДАЛИТЬ целиком очистив переменную.
● Нумерация Элементов Кортежа (в @MenuBuilderBot) начинается с 1 (единицы).
● Пустые Элементы (без значений) возвращают НОЛЬ (0).
● Обращение за пределы диапазона Элементов возвращает НОЛЬ (0). Например Ячейка с индексом 101.
● Элемент с Индексом НОЛЬ (0) - возвращает НОЛЬ (0).
● При попытке создать Элемент со значением менее 0 (нуля) - запишет НОЛЬ (0).
● При попытке создать Элемент с дробным значением - запишет НОЛЬ (0).
● При попытке создать Элемент со значением более 255 - запишет 255.

Внешне Простой Кортеж это список чисел (например): {55, 56, 57, 58, 59}
Пространственно это одномерный массив:
[1]=55
[2]=56
[3]=57
[4]=58
[5]=59
Где [1] - это порядковый номер (индекс) Элемента, а 55 это значение Элемента (Ячейки).

Ещё раз НАПОМИНАЕМ - Элементы в Простых Кортежах конструктора @MenuBuilderBot нумеруются с ЕДИНИЦЫ (1) (не так как в программировании). Это позволит иметь ЕСТЕСТВЕННУЮ нумерацию соответствующую значениям ваших переменных. Тут нет единого правильно или неправильного решения - каждый из подходов имеет свои плюсы и минусы - мы выбрали этот вариант как более прикладной и более простой для понимания людей не связанных с программированием.


❖ Работа с Простыми Кортежами

Ещё раз НАПОМИНАЕМ - Простые Кортежи хранятся в специальной Переменной «Простой Кортеж». И работа с ними ведётся исключительно через этот вид переменных.

Инициализация

Инициализация (Action Инициализации)
● Числом: 1
● Числами 1, 2, 3, 4, 5 ➨ кавычки не нужны
● Функцией: {stuple_set(1, 2, 3, 4, 5)}

Задание Значения

Задать (Action Чисел - режим «Задать Значение»)
● Число: 1
● Числами: 1, 2, 3, 4, 5 ➨ кавычки не нужны
● Функция: {stuple_set(1, 2, 3, 4, 5)}

Очистка

Очистка (Action Очистки)
Указать переменную с Кортежем

Запрос Данных

Запрос данных из элемента кортежа
● Функцией: {stuple_vget("varname", 3)} (используем ИМЯ Переменной - вернёт значение элемента с индексом 3)
● Макросом: {stuple_get(%varname%, 3)} (используем МАКРОС Переменной - вернёт значение элемента с индексом 3)

Просмотр данных Кортежа

Для просмотра данных находящихся в переменной Кортежа подходят стандартные инструменты работы с переменными (Макрос и Команда).

Больше информации о работе с переменными смотри в Руководстве по Переменным.

Практического смысла в прямом просмотре (и выводе этих данных в сообщении) - нет. Эта возможность используется в основном для отладки создаваемых функций и проверки возможных ошибок.

❖ Функции заполнения кортежей

Для заполнения кортежа доступны функции:

stuple_set()

Simple Tuple Set - позволяет задать произвольные значения в Ячейки Кортежа.

stuple_set(num1, num2, num3, num4, num5)
num - произвольные ЦЕЛЫЕ числа от 0 до 255

• Пример:
stuple_set(1, 2, 3, 4, 5)

stuple_rlist()

Simple Tuple Random List - берёт список последовательных чисел и размещает их в случайном порядке.

stuple_rlist(min, max)
min - минимальное число последовательности
max - максимальное число последовательности

Создаёт список порядковых чисел от min до max и заполняет им Кортеж в СЛУЧАЙНОМ порядке. Числа НЕ могут повторяться. Если список меньше 100 элементов - остальные Ячейки остаются нулями.

• Пример:
stuple_rlist(5, 9)
Возьмёт последовательность чисел 5,6,7,8,9 и поместит их (в переменную) в случайном порядке, например, (7,9,8,6,5).

stuple_rrange()

Simple Tuple Random Range - заполнит Кортеж указанной длинны случайными числами заданного диапазона.

stuple_rrange(min, max, len)
Заполнение кортежа размера (длины) len случайными числами в диапазоне от min до max. Числа могут повторяться.

• Пример:
stuple_rlist(1, 5, 10)
Заполнит 10 ячеек случайными числами от 1 до 5, например, (2,4,2,5,1,3,3,1,4,2). Остальные 90 ячеек будут содержать нули (0).

Больше функций заполнения может быть добавлено в будущем при необходимости.

❖ Дополнительная Информация

 

Как осуществить перебор сообщений или меню в случайном порядке, без повторов?

При помощи функционала Простых Кортежей можно осуществлять перебор сообщений, пунктов меню, либо функций - в случайном порядке и без повторов.

Подробнее о реализации перебора в случайном порядке смотри в Пособии.

• • •