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

Snap!
Изображение модаSnap-logo.png
Версия8.2.3
Операционные системыЛюбой HTML5-браузер
Цель созданияСоздание собственных блоков; всё по высшему классу
РазработчикиJens, bharvey
Открытый исходный код?Да (AGPLv3)
Язык программированияSqueak, JavaScript
Сайтhttps://snap.berkeley.edu
Тема на форуметема:4455 ар-тема:34284
Document stub.png Статья не завершена! Если ты хочешь помочь — отредактируй её.
Интерфейс Snap!

Snap! (ранее известный, как Build Your Own Blocks, Создай Свой Собственный Блок) — расширенная повторная реализация Скретча, которая включает в себя первоклассные процедуры, первоклассные списки и первоклассные спрайты с наследованием. Ранняя версия, — СССБ, — на самом деле была модификацией исходного кода Скретч 1.4, но текущая версия является отдельной программой, несмотря на очень похожий интерфейс. Изначально СССБ был разработан скретчером Jens, но начиная с BYOB 3.0, скретчер bharvey присоединился как соразработчик.

Функции

Основными нововведениями Snap! от Скретча были собственные блоки, первоклассные процедуры, первоклассные списки, первоклассные спрайты с наследованием объектов, первоклассные костюмы и звуки, гиперблоки, сцены, синтаксическая интроспекция и расширенный пользовательский интерфейс.

Эта статья только обсуждает самые важные функции; обратитесь к справочному пособию Snap! (англ.) для более канонического руководства.

Создай Свой Собственный Блок 1.0

BYOB 1.0 был выпущен 21 октября 2008 года и был основан на Скретч 1.3.[1] Вот рисунок с его документации, который показывает, как сделать рекурсивный блок. BYOB1.png

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

Создай Свой Собственный Блок 2.0

СССБ 2.0 был выпущен 30 августа, 2009[2]. Эта версия обновила используемый код Скретч до версии 1.4 и добавила некоторые улучшения интерфейса, включая кнопку «Назад».[3]

Вложенные спрайты

Новая, значительная функция, добавленная в СССБ 2.0, была возможность создавать коллекцию спрайтов, которые двигаются вместе. Канонический пример — скелет, в котором каждая кость соединена к ближнему кости к позвоночнику; весь скелет может поворачиваться вместе, или определённая кость может поворачиваться относительно ко скелету.

Swimmer.png

Создай Свой Собственный Блок 3.0

BYOB 3.0 был выпущен 30 апреля 2010 года.[4]

Первоклассные процедуры

Command-ring.png Reporter ring.png Predicate ring.png

Тип данных в языке программирования является первоклассным, если данные можно использовать всеми теми же способами, что и любой другой тип данных. Например, в Скретче можно создать список, состоящий из чисел, но создать список, состоящий из списков невозможно; числа первоклассные, а списки — нет. Один из лозунгов BYOB 3 — «всё первоклассно.» Самым большим и важным различием между СССБ 2 и СССБ 3 было то, что последний ввёл процедуры первого класса. Серые кольца выше используются для того, чтобы разрешить процедуры (блоки и скрипты) в качестве данных.

2plus3.png 2plus3ring.png

Слева, блок без кольца (2 + 3) выдаёт число 5. Справа, кольцо с блоком выдаёт сам блок ((2) + (3)).

Call.png Call2+3.png

Единственная причина для создания закольцованной процедуры — это то, что позже она может быть вызвана блоком Call.png.

Пользователи могут использовать первоклассные процедуры, например, для абстрагирования повторного вызова функции для каждого элемента списка:

Mapdef.png Mapblock.png Mapcall.png

В литературе по информатике эквивалентом серого кольца является лямбда-выражение: λx. x+3. «Лямбда» (λ) — это греческая буква L.

Источники

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