Материал из Скретч Вики

(перенаправлено с «Массив»)

Кнопка «Создать список»
Пример списка

Список — это инструмент, который можно использовать для одновременного хранения нескольких фрагментов информации. Его также можно определить как переменную, содержащую несколько других переменных. Список состоит из чисел, соединенных с элементами. Впервые они были представлены в Скретч 1.3. Каждый элемент можно получить по его порядковому номеру. Блоки списка можно найти в палитре блоков переменных.

Список блоков

Основная статья: Блок переменных#list
(list::list)

добавить [] к [список v]

удалить ( v) из [список v]

вставить [] в (1 v) из [список v]

заменить элемент ( v) в [список v] на [thing]

(элемент ( v) из [список v] :: list)

(длина списка [список v] :: list)

<[список v] содержит [thing] ?>

показать список [список v]

скрыть список [список v]

Элементы

Основная статья: Элемент списка
Пустой список

Элементы можно добавлять в список или удалять из него вручную или с помощью блоков. Удерживание клавиши Shift и нажатие клавиши ввода в списке приводит к созданию новой записи над ранее выбранной записью, а нажатие клавиши ввода без клавиши Shift создает запись списка ниже ранее выбранной. Их также можно добавить, щелкнув список правой кнопкой мыши, выбрав «импорт» и выбрав обычный файл формата .txt. Каждая строка в файле станет новым элементом в списке. Их также можно экспортировать таким же образом; однако это невозможно сделать, если имя списка не поддерживается операционной системой пользователя. В Windows списки, в которых используются вопросительные знаки (?), звездочки (*), угловые скобки (< >), вертикальные черты (|), двоеточие (:), пробел ( ) или любой управляющий символ ASCII, не могут быть экспортированы с помощью Скретч. При первом нажатии кнопки экспорта для этого типа списка ничего не произойдет; после второго щелчка меню импорта/экспорта закроется. Допустимые символы зависят от операционной системы.

Ограничения на размер списка

В предыдущих версиях редактора Скретч не было ограничений на длину элемента или количество элементов, которые может содержать список, за исключением количества, достаточного для аварийного завершения работы Скретч. Однако в старых версиях проект невозможно было сохранить в сети, если загрузка списка занимала слишком много времени, потому что Скретч возвращает сетевую ошибку примерно через 30 секунд. Это происходило примерно на 300 000 элементов списка.
В Скретч 3.0 списки имеют жесткое ограничение размера в 200 000 элементов.

Примеры использования

Вот некоторые примеры использования списков:

  • Расчеты
  • Кодирование/декодирование строк
  • Инвентарь в играх
  • Искусственный Интеллект (Чат-бот)
  • Запись нескольких значений
  • Сохранение переменных
  • Сохранение и загрузка данных
  • Создание системы для ввода букв пользователями

Более сложное использование

  • Хранение вводимых пользователем данных в симуляциях операционной системы
  • Хранение данных ИИ в играх
  • Разрешение пользователям воссоздавать прошлые входные данные
  • Хранение мировых данных в 3D-проектах

Копирование и вставка

Поскольку текст в списках можно копировать и вставлять в текстовые документы, а данные в списках также можно экспортировать или импортировать, списки можно использовать для создания систем сохранения (вместе с блоками Блок сенсоров/Спросить () и ждать).

Облачные списки

Основная статья: Облачной список

Облачные списки были экспериментальной функцией в альфа- и бета-версиях Скретч 2.0. Однако они были отключены, когда был выпущен Скретч 2.0. Значения облачных списков хранились на серверах Скретч; это была единственная разница между ними и обычными списками. Когда облачный список обновлялся, это происходило во всех копиях проекта. Это делает облачные списки идеальными для таких вещей, как общедоступные списки рекордов. Многие пользователи хотели, чтобы облачные списки вернулись, потому что это облегчило бы им кодирование. Однако их можно воспроизвести путем кодирования и декодирования облачных данных.

Редактор списка

Редактор списка

Редактор списков — это функция, позволяющая редактировать списки. Он доступен только внутри редактора проекта. Используйте его, щелкнув элемент списка и введя новый элемент списка. Можно также удалить элемент, нажав «X» справа, и добавить элемент, нажав «+» в левом нижнем углу области списка.

Применение

Редактор списка можно использовать для создания языков программирования в Скретч путем импорта *.txt файла в список. Это также полезно, когда проекту нужны пользователи для редактирования списка. Редактор списков используется не так широко, как многие другие функции, такие как блоки сказать и спросить.
Редактор списков также полезен в текстовых редакторах, так как создание полнотекстового редактора в Скретч практически невозможно из-за ограничений клавиш в списке блока клавиша () нажата?. Текстовые редакторы, использующие редакторы списков, легко программировать, поскольку проекту достаточно получить доступ к элементу списка.

Ограничения

Редактор списков имеет много ограничений, поэтому он не получил широкого распространения. Его можно использовать только в редакторе проекта, поэтому пользователи могут видеть весь код и редактировать его. Использование в нем функций Скретч также означает, что он сложен для пользователя и вообще не настраивается. Редакторы списков также имеют не лучший пользовательский интерфейс, и это часто вводит пользователя в заблуждение. Из-за этого очень мало проектов используют редактор списков, это очень малоизвестная функция.

Запросы

После того, как были введены временные списки, многие пользователи запросили два новых блока Скрыть список [Список v] и Показать список [Список v]. Из-за такого высокого спроса они были представлены в Скретч 2.0.
Некоторые пользователи предложили добавить двумерные или даже многомерные, а также облачные списки[1]. Однако Команда Скретч отклонила это предложение, заявив, что оно слишком сложно для языка программирования, предназначенного для начинающих.[2] Механизмы облачных списков используют обычные облачные переменные для синхронизации списков с облачными переменными.

Источники

Cookie-файлы помогают нам предоставлять наши услуги. Используя наши сервисы, вы соглашаетесь с использованием cookie-файлов.