Белка (язык программирования) - Squirrel (programming language)

Белка
ПарадигмаМультипарадигма: сценарии, императив, функциональный, объектно-ориентированный
РазработаноАльберто Демикелис
Впервые появился6 сентября 2003 г.; 17 лет назад (2003-09-06)
Стабильный выпуск
3.1 / 27 марта 2016 г.; 4 года назад (2016-03-27)
Печатная дисциплинаДинамический
Операционные системыКроссплатформенность
ЛицензияЛицензия MIT
Расширения имени файла.орех
Интернет сайтбеличий язык.org Отредактируйте это в Викиданных
Под влиянием
C ++, JavaScript, Lua, Python
Под влиянием
MiniD

Белка это высокий уровень императив, объектно-ориентированный язык программирования, призванный стать легкий язык сценариев который соответствует размеру, пропускной способности памяти и требованиям к работе в реальном времени таких приложений, как видеоигры и встроенные системы.

MirthKit, простой набор инструментов для создания и распространения кроссплатформенных 2D-игр с открытым исходным кодом, использует Squirrel в качестве своей платформы.[1] Он широко используется Код :: Блоки для сценариев, а также использовался в Final Fantasy Crystal Chronicles: Моя жизнь как король.[2][3] Он также используется в Left 4 Dead 2, Портал 2 и Thimbleweed Park для сценариев событий и в НовыйТемный, неофициальный Вор 2: Металлический век обновление движка, чтобы облегчить дополнительные, упрощенные средства создания сценариев событий миссии, помимо обычных C сценарии.[4]

Особенности языка

Синтаксис

Squirrel использует синтаксис, подобный Си.

Факториал в белке
  функция факториал(Икс)  {    если (Икс == 0) {      вернуть 1;    }    еще {      вернуть Икс * факториал(Икс-1);    }  }
Генераторы
  функция not_a_random_number_generator(Максимум) {    местный последний = 42;    местный Я = 139968;    местный IA = 3877;    местный IC = 29573;    для(;;) { // бесконечный цикл      Уступать (Максимум * (последний = (последний * IA + IC) % Я) / Я);    }  }  местный Randtor = not_a_random_number_generator(100);  для(местный я = 0; я < 10; я += 1)     Распечатать(">"+продолжить Randtor+" п");
Классы и наследование
  класс BaseVector {    конструктор(...)    {      если(vargv.len() >= 3) {        Икс = vargv[0];        y = vargv[1];        z = vargv[2];      }    }    Икс = 0;    y = 0;    z = 0;  }  класс Вектор3 расширяет BaseVector {    функция _Добавить(Другой)    {      если(Другой случай ::Вектор3)        вернуть ::Вектор3(Икс+Другой.Икс,y+Другой.y,z+Другой.z);      еще        бросить "неправильный параметр";    }    функция Распечатать()    {      ::Распечатать(Икс+","+y+","+z+" п");    }  }  местный v0 = Вектор3(1,2,3)  местный v1 = Вектор3(11,12,13)  местный v2 = v0 + v1;  v2.Распечатать();

Приложения

Неигровые приложения с использованием Squirrel

Игры с использованием Squirrel

История

Язык был обнародован в 2003 г. лицензия zlib / libpng.[16]В ноябре 2010 года лицензия была изменена на Лицензия MIT чтобы проект был размещен на Код Google.[17][18]Он разработан и поддерживается Альберто Демикелисом.

Смотрите также

использованная литература

  1. ^ Wiki для разработчиков MirthKit В архиве 2014-02-11 в Wayback Machine
  2. ^ Брэндон Бойер (21 февраля 2008 г.). «Гамасутра - освещение событий GDC 2008». gamasutra.com. Гамасутра.
  3. ^ «Эксклюзив: за кулисами дебюта Final Fantasy на WiiWare». gamasutra.com. Гамасутра. 23 июня 2008 г.. Получено 22 сентября 2011.
  4. ^ "L4D2 Vscripts - сообщество разработчиков Valve". developer.valvesoftware.com. Получено 2018-07-06.
  5. ^ "Руководство по программированию Electric Imp". electricimp.com.
  6. ^ а б c d е «VScript». valveoftware.com. 2014-08-20. Получено 2015-01-17.
  7. ^ "NewDark 1.25: Скрипт белки?". ttlg.com. 2017-03-20. Получено 2019-12-25.
  8. ^ «AI: Главная страница - OpenTTD». wiki.openttd.org. Получено 2018-07-06.
  9. ^ "iv-multiplayer.com". www.iv-multiplayer.com. Получено 2018-07-06.
  10. ^ "m2-multiplayer.com". www.m2-multiplayer.com. Получено 2018-07-06.
  11. ^ "Блог Thimbleweed Park - Engine". blog.thimbleweedpark.com. Получено 2018-07-06.
  12. ^ «Simutrans-Squirrel-API: главная страница». dwachs.github.io. Получено 2018-07-06.
  13. ^ "Добро пожаловать на сайт VC-MP!". https://vc-mp.org/. Архивировано из оригинал на 2006-04-05. Получено 2014-05-04. Внешняя ссылка в | сайт = (Помогите)
  14. ^ "Свобода развязанная". Получено 2019-12-04.
  15. ^ "th155-decomp". Получено 2020-10-19.
  16. ^ «Язык программирования белка». SourceForge. Получено 2018-07-06.
  17. ^ «Переход на code.google.com и лицензия MIT - Язык - Белка - Язык программирования». forum.squirrel-lang.org. Получено 2018-07-06.
  18. ^ "Архив Google Code - долгосрочное хранилище для хостинга проектов Google Code". code.google.com. Получено 2018-07-06.

внешние ссылки