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

ScratchJr On Flag block.png Этот раздел или статья не предназначена для новичка! Она содержит сложную информацию.

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

Однако, существует обходной путь, чтобы создавать такие переменные, и множество пользователей создают такие пути сами. Это руководство описывает создание облачного списка.

Кодирование информации

Чтобы сохранять строки в нашем «списке», мы должны эти строки закодировать так, чтобы на выходе получилось число. Для начала создадим новый блок.

  определить зашифровать (строка)

В этот блок нужно поместить код, который бы шифровал строку в числа. Также нам понадобится и облачная переменная.

  задать [шифрование v] значение (1)
  задать [выход v] значение ()

А теперь соединим всё, чтобы получилась нужная конструкция. Нам нужно, чтобы шифровалась каждая буква, поэтому нужно поставить блок повторения, который пройдётся по каждой букве нужной строки и зашифрует её.

  определить зашифровать (строка)
    задать [шифрование v] значение (1)
    повторить (длина (строка) :: operators) раз // проходит через всю строку
      изменить [шифрование v] на (1)
    end

Этот блок — лишь половина дела. Нам же нужно кое-что получше. Создадим два списка, в которых будут нужные буквы и соответствующие им числа, допустим, тут будет весь алфавит и немного пунктуации (следует использовать не более 99 символов). Далее создадим цикл внутри цикла. Он будет искать двухзначное число и выписывать его в конечный список.

  задать [поискБуквы v] значение (1)
    повторить (длина списка [буквы v]) раз
      если <(элемент (поискБуквы) в [буквы v]) = (элемент (шифрование) в (строка))>, то
        если <(длина (поискБуквы) :: operators) = (1)>, то
          задать [выход v] значение (объединить (выход) (объединить (0) (поискБуквы))
        иначе
          задать [выход v] значение (объединить (выход) (поискБуквы))
        end
      изменить [поискБуквы v] на (1)
      end
    end

Примечания

Информация.png Интересный факт: облачные списки на самом деле существовали во времена Scratch 2.0, но они были удалены через короткое время в связи с тем, что их использовали для не самых хороших вещей.
Cookie-файлы помогают нам предоставлять наши услуги. Используя наши сервисы, вы соглашаетесь с использованием cookie-файлов.