Материал из Скретч Вики
Статья не завершена! Если ты хочешь помочь — отредактируй её. |
Snap! (ранее известный, как Build Your Own Blocks, Создай Свой Собственный Блок) — расширенная повторная реализация Скретча, которая включает в себя первоклассные процедуры, первоклассные списки и первоклассные спрайты с наследованием. Ранняя версия, — СССБ, — на самом деле была модификацией исходного кода Скретч 1.4, но текущая версия является отдельной программой, несмотря на очень похожий интерфейс. Изначально СССБ был разработан скретчером Jens, но начиная с BYOB 3.0, скретчер bharvey присоединился как соразработчик.
Функции
Основными нововведениями Snap! от Скретча были собственные блоки, первоклассные процедуры, первоклассные списки, первоклассные спрайты с наследованием объектов, первоклассные костюмы и звуки, гиперблоки, сцены, синтаксическая интроспекция и расширенный пользовательский интерфейс.
Эта статья только обсуждает самые важные функции; обратитесь к справочному пособию Snap! (англ.) для более канонического руководства.
Создай Свой Собственный Блок 1.0
BYOB 1.0 был выпущен 21 октября 2008 года и был основан на Скретч 1.3.[1] Вот рисунок с его документации, который показывает, как сделать рекурсивный блок.
Возможность создавать собственные блоки была первой целью СССБ, что говорит его название. Ограниченная версия этой возможности, позволяющая создавать только обычные блоки, в будущем стала частью Скретч 2.0.
Создай Свой Собственный Блок 2.0
СССБ 2.0 был выпущен 30 августа, 2009[2]. Эта версия обновила используемый код Скретч до версии 1.4 и добавила некоторые улучшения интерфейса, включая кнопку «Назад».[3]
Вложенные спрайты
Новая, значительная функция, добавленная в СССБ 2.0, была возможность создавать коллекцию спрайтов, которые двигаются вместе. Канонический пример — скелет, в котором каждая кость соединена к ближнему кости к позвоночнику; весь скелет может поворачиваться вместе, или определённая кость может поворачиваться относительно ко скелету.
Создай Свой Собственный Блок 3.0
BYOB 3.0 был выпущен 30 апреля 2010 года.[4]
Первоклассные процедуры
Тип данных в языке программирования является первоклассным, если данные можно использовать всеми теми же способами, что и любой другой тип данных. Например, в Скретче можно создать список, состоящий из чисел, но создать список, состоящий из списков невозможно; числа первоклассные, а списки — нет. Один из лозунгов BYOB 3 — «всё первоклассно.» Самым большим и важным различием между СССБ 2 и СССБ 3 было то, что последний ввёл процедуры первого класса. Серые кольца выше используются для того, чтобы разрешить процедуры (блоки и скрипты) в качестве данных.
Слева, блок без кольца (2 + 3) выдаёт число 5. Справа, кольцо с блоком выдаёт сам блок ((2) + (3))
.
Единственная причина для создания закольцованной процедуры — это то, что позже она может быть вызвана блоком .
Пользователи могут использовать первоклассные процедуры, например, для абстрагирования повторного вызова функции для каждого элемента списка:
➜ | ➜ |
В литературе по информатике эквивалентом серого кольца является лямбда-выражение: λx. x+3. «Лямбда» (λ) — это греческая буква L.