Списки
Создание списка
Создать список из
При помощи блока erstelle Liste mit (создать список из) можно указать начальные значения нового списка. В этом примере создается список слов и сохраняется в переменной с именем Buchstaben (буквы):
Мы назовем этот список [«alpha», «beta», «gamma»].
Ниже показано создание списка чисел:
Так создается список цветов:
Хотя этот вариант и встречается не так часто, можно создать список значений разных типов:
Изменение количества входов
Чтобы изменить количество входов, щелкни по значку шестеренки или коснись его. Открывается новое окно. Чтобы добавить новый вход, перетащи подблоки элементов из левой стороны окна в блок списка на правой стороне:
В этом примере новый элемент добавлен внизу, но его можно добавить в любом месте. Ненужные подблоки элементов можно перетащить из блока списка влево.
Создание списка с определенным количеством экземпляров элемента
При помощи блока erstelle Liste mit Element (создать список с … элементами(-ом)) ты можешь создать список, содержащий указанное количество экземпляров элемента. Например, следующие блоки присваивают переменной Wörter (слова) значение в виде списка [«sehr», «sehr», «sehr»] ([«очень», «очень», «очень»]).
Проверка длины списка
ist leer (пустой)
Значение блока ist leer (пустой) является истиной, если он содержит пустой список, и ложью, если он содержит что-либо другое. Будет ли следующее выражение истиной? Следующий блок будет иметь значение ложь, т. к. переменная «Цвета» не пустая: она содержит три элемента.
Обрати внимание на схожесть этого блока с блоком ist leer (пустой) для текста.
Длина
Значением блока Länge von (длина) является количество элементов списка, подставленного в блок. Например, значением следующего блока было бы 3, т. к. список Farbe содержит три элемента:
Обрати внимание на то, что блок Länge von (длина) считает общее количество элементов в списке, а не количество разных элементов в списке. Например, следующий блок имеет значение 3, хотя список Wörter состоит из трех одинаковых слов:
Обрати внимание на схожесть этого блока с блоком Länge von (длина) для текста.
Поиск элементов в списке
Эти блоки находят положение элемента в списке. В следующем примере блок, находящий положение первого экземпляра элемента, имеет значение 1, т. к. первое слово «sehr» стоит в начале списка слов ([«sehr», «sehr», «sehr»]).
Результатом выполнения следующего блока, находящего положение последнего экземпляра элемента, будет 3, т. к. последнее слово «sehr» в списке Wörter стоит на 3 месте.
Если элемент не встречается в списке, результатом выполнения блока будет 0, как в следующем примере:
Эти блоки работают аналогично блокам для поиска букв в тексте.
Вызов элементов из списка
Вызов одного элемента
Вспомни определение списка Farben (цвета):
Следующий блок содержит синий цвет, т. к. он является вторым элементом в списке (если считать слева):
Этот блок содержит зеленый цвет, т. к. он является вторым элементом (если считать справа):
Этот блок содержит первый элемент — красный цвет:
Этот блок содержит последний элемент — желтый цвет:
Этот блок с одинаковой вероятностью выбирает случайный элемент из списка: красный, синий, зеленый или желтый цвет.
Вызов и удаление элемента
При помощи выпадающего меню блок aus Liste ... abrufen (вызвать … из списка) превращается в блок aus Liste ... abrufen und entfernen (вызвать … из списка и удалить), который выдает такое же значение, но изменяет список:
В этом примере переменной erster Buchstabe (первая буква) присваивается значение «alpha», остальные буквы ([«beta», «gamma»]) остаются в списке.
Удаление элемента списка
Если в выпадающем меню выбрать entfernen (удалить), выступ на блоке слева исчезает:
Первый элемент из списка Buchstaben удаляется.
Вызвать подсписок
Блок aus Liste … Subliste abrufen (вызвать из списка... подсписок) похож на блок aus Liste ... abrufen (вызвать … из списка) с тем отличием, что он извлекает подсписок, а не один элемент. Существует несколько возможностей указать начало и конец подсписка:
В этом примере создается новый список erster Buchstabe (первая буква). Этот новый список содержит два элемента: [«alpha», «beta»].
Обрати внимание на то, что этот список не изменяет исходный список.
Добавление элементов в список
Замена элементов списка
Блок in Liste ... ersetze (заменить … в списке) заменяет элемент в определенном месте списка на другой элемент.
Значение пунктов выпадающего меню см. в предыдущем разделе.
В следующем примере выполняются два действия:
- Создается список Wörter (слова) с 3 элементами: [«sehr», «sehr», «sehr»] ([«очень», «очень», «очень»]).
- Третий элемент списка заменяется на «gut» («хорошо»). Новым значением переменной Wörter является [«sehr», «sehr», «gut»] ([«очень», «очень», «хорошо»]).
Вставка элементов в определенное место списка
Блок in Liste ... einfügen bei (вставить в список … на место) вызывается через выпадающее меню блока заменить ... в списке:
Этот блок вставляет новый элемент в указанное место списка, а именно перед элементом, ранее находившимся на этом месте. В следующем примере (основанном на предыдущем примере) выполняются три действия:
- Создается список Wörter (слова) с 3 элементами: [«sehr», «sehr», «sehr»] ([«очень», «очень», «очень»]).
- Третий элемент списка заменяется на «gut» («хорошо»). Таким образом, новым значением переменной Wörter является [«sehr», «sehr», «gut»] ([«очень», «очень», «хорошо»]).
- В начало списка вставляется слово «Sei» («будь»). Таким образом, окончательным значением переменной Wörter будет [«Sei», «sehr», «sehr», «gut»] ([«Будь», «очень», «очень», «хорошим»]).
Разделение цепочек символов и объединение в списки
Создание списка из текста
Блок erstelle Liste aus Text (создать список из текста) разбивает на части указанный текст при помощи ограничителя:
В вышеприведенном примере возвращается новый список, содержащий три фрагмента текста: «311», «555» и «2368».
Создание текста из списка
Блок erstelle Text aus Liste (создать текст из списка) создает из списка единый текст при помощи разделителя:
В вышеприведенном примере возвращается новый текст со значением «311-555-2368».
Родственные блоки
Печать списка
Блок drucken (напечатать) в категории Text (Текст) может выдавать списки. В результате выполнения следующей программы на консоль выводятся показанные данные:
Выполнение какого-либо действия для каждого элемента списка
Блок für-jeden (для каждого) в категории «Управление» выполняет ту или иную операцию для каждого элемента списка. Например, этот блок отдельно выводит каждый элемент списка:
При этом из исходного списка элементы не удаляются.
См. также примеры блоков для выхода из цикла.