Veverka (programovací jazyk) - Squirrel (programming language)
tento článek pravděpodobně potřebuje reorganizaci, aby vyhověla požadavkům Wikipedie pokyny pro rozložení.Březen 2018) (Zjistěte, jak a kdy odstranit tuto zprávu šablony) ( |
Tento článek musí být aktualizováno.Březen 2018) ( |
Paradigma | Multi-paradigma: skriptování, rozkazovací způsob, funkční, objektově orientovaný |
---|---|
Navrhl | Alberto Demichelis |
Poprvé se objevil | 6. září 2003 |
Stabilní uvolnění | 3.1 / 27. března 2016 |
Psací disciplína | Dynamický |
OS | Cross-platform |
Licence | Licence MIT |
Přípony názvu souboru | .matice |
webová stránka | veverka-lang |
Ovlivněno | |
C ++, JavaScript, Lua, Krajta | |
Ovlivněno | |
MiniD |
Veverka je na vysoké úrovni rozkazovací způsob, objektově orientovaný programovací jazyk, navržený jako a lehká váha skriptovací jazyk který odpovídá velikosti, šířce pásma paměti a požadavkům aplikací v reálném čase videohry a vestavěné systémy.
MirthKit, jednoduchá sada nástrojů pro výrobu a distribuci open-source 2D multiplatformních her, používá pro svou platformu Squirrel.[1] To je hojně používáno Kód :: Bloky pro skriptování a byl také použit v Final Fantasy Crystal Chronicles: My Life as a King.[2][3] Používá se také v Left 4 Dead 2, Portál 2 a Thimbleweed Park pro skriptované události a v NewDark, neoficiální Thief 2: The Metal Age aktualizace motoru, s cílem usnadnit další, zjednodušené způsoby skriptování událostí mise, kromě pravidelných C skriptování.[4]
Jazykové funkce
- Dynamické psaní
- Delegace
- Třídy, dědictví
- Funkce vyššího řádu
- Generátory
- Kooperativní vlákna (coutiny )
- Rekurze ocasu
- Zpracování výjimek
- Automatická správa paměti (hlavně počítání referencí se zálohou Popelář )
- Slabé reference
- Oba překladač a virtuální stroj zapadají dohromady do přibližně 7 000 řádků C ++ kód
- Volitelný 16-bit charakter struny
Syntax
Veverka používá syntaxi typu C.
- Faktoriál ve veverce
funkce faktoriál(X) { -li (X == 0) { vrátit se 1; } jiný { vrátit se X * faktoriál(X-1); } }
- Generátory
funkce not_a_random_number_generator(max) { místní poslední = 42; místní IM = 139968; místní IA = 3877; místní IC = 29573; pro(;;) { // smyčky navždy výtěžek (max * (poslední = (poslední * IA + IC) % IM) / IM); } } místní randtor = not_a_random_number_generator(100); pro(místní i = 0; i < 10; i += 1) tisk(">"+životopis randtor+„ n“);
- Třídy a dědičnost
třída BaseVector { konstruktor(...) { -li(vargv.len() >= 3) { X = vargv[0]; y = vargv[1]; z = vargv[2]; } } X = 0; y = 0; z = 0; } třída Vector3 rozšiřuje BaseVector { funkce _přidat(jiný) { -li(jiný instanceof ::Vector3) vrátit se ::Vector3(X+jiný.X,y+jiný.y,z+jiný.z); jiný házet "chybný parametr"; } funkce Tisk() { ::tisk(X+","+y+","+z+„ n“); } } místní v0 = Vector3(1,2,3) místní v1 = Vector3(11,12,13) místní v2 = v0 + v1; v2.Tisk();
Aplikace
Neherní aplikace využívající veverku
- Enduro / X Server klastrových aplikací
- Elektrický imp End-to-end platforma IoT [5]
Hry využívající veverku
- Left 4 Dead 2[6]
- Zloděj II (neoficiální aktualizace motoru NewDark)[7]
- Portál 2[6]
- Alien Swarm[6]
- OpenTTD[8]
- GTAIV 's IV-MP[9]
- Mafia II 's M2 - více hráčů[10]
- Counter Strike: globální útočné[6]
- Stínový válečník
- Válečná bouře
- Kuchyně Royale
- SuperTux
- Sonic Unleashed (PS2 / Wii)
- Nákaza[6] (PC)
- Thimbleweed Park[11]
- Simutrans[12]
- Vice City Multiplayer (mod pro Grand Theft Auto: Vice City )[13]
- Svoboda uvolněna[14]
- Zero no Tsukaima - Muma ga Tsumugu Yokaze no Nocturne (PS2)
- Zero no Tsukaima - Maigo no Period to Ikusen no Symphony (PS2)
- Zero no Tsukaima - Shou-akuma pro Harukaze no Concerto (PS2)
- Antinomie běžných květin [15]
Dějiny
Jazyk byl zveřejněn v roce 2003 pod licence zlib / libpng.[16]V listopadu 2010 byla licence změněna na Licence MIT umožnit hostování projektu Google Code.[17][18]Je vyvinut a udržován Albertem Demichelisem.
Viz také
Reference
- ^ MirthKit Developer Wiki Archivováno 11.02.2014 na Wayback Machine
- ^ Brandon Boyer (21. února 2008). „Gamasutra - pokrytí událostí GDC 2008“. gamasutra.com. Gamasutra.
- ^ „Exkluzivní: V zákulisí debutu WiiWare hry Final Fantasy“. gamasutra.com. Gamasutra. 23. června 2008. Citováno 22. září 2011.
- ^ „L4D2 Vscripts - Valve Developer Community“. developer.valvesoftware.com. Citováno 2018-07-06.
- ^ „Průvodce programováním Electric Imp“. electricimp.com.
- ^ A b C d E „VScript“. ventelsoftware.com. 2014-08-20. Citováno 2015-01-17.
- ^ „NewDark 1.25: Skript veverky?“. ttlg.com. 2017-03-20. Citováno 2019-12-25.
- ^ „AI: Main Page - OpenTTD“. wiki.openttd.org. Citováno 2018-07-06.
- ^ „iv-multiplayer.com“. www.iv-multiplayer.com. Citováno 2018-07-06.
- ^ „m2-multiplayer.com“. www.m2-multiplayer.com. Citováno 2018-07-06.
- ^ „Blog - motor Thimbleweed Park“. blog.thimbleweedpark.com. Citováno 2018-07-06.
- ^ „Simutrans-Squirrel-API: Main Page“. dwachs.github.io. Citováno 2018-07-06.
- ^ „Vítejte na webových stránkách VC-MP!“. https://vc-mp.org/. Archivovány od originál dne 2006-04-05. Citováno 2014-05-04. Externí odkaz v
| web =
(Pomoc) - ^ "Svoboda uvolněna". Citováno 2019-12-04.
- ^ "th155-decomp". Citováno 2020-10-19.
- ^ „Programovací jazyk Veverka“. SourceForge. Citováno 2018-07-06.
- ^ „Přesun na stránku code.google.com a licence MIT - Jazyk - Veverka - Programovací jazyk“. forum.squirrel-lang.org. Citováno 2018-07-06.
- ^ „Google Code Archive - Long-term storage for Google Code Project Hosting“. code.google.com. Citováno 2018-07-06.