Veverka | |
---|---|
Jazyková třída | multi-paradigma |
Typ provedení | interpretováno , JIT |
Objevil se v | 2003 |
Autor | Alberto Demichelis |
Uvolnění | 3.2 (10. února 2022 ) |
Byl ovlivněn | Lua , Python , Javascript , C++ |
Licence | licence zlib/libpng |
webová stránka | squirrel-lang.org |
Squirrel (z angličtiny - "squirrel") je interpretovaný programovací jazyk navržený speciálně pro použití jako skriptovací jazyk v aplikacích v reálném čase, jako jsou počítačové hry. Je volně distribuován , open source.
Squirrel je jazyk s dynamickým určením datového typu - typ proměnné je určen hodnotou, kterou aktuálně ukládá a může se změnit, když je přiřazena nová hodnota. Všechny hodnoty ve Squirrel mohou být uloženy v proměnných, použity jako argumenty pro volání funkcí a vráceny jako výsledek jejich spuštění.
Hodnoty ve Squirrel mohou být následujících typů:
Faktorový výpočet
faktoriál funkce ( x ) { if ( x == 0 ) { návrat 1 ; } návrat x * faktoriál ( x - 1 ); }Generátor náhodných čísel:
funkce gen_random ( max ) { lokální poslední = 42 ; místní IM = 139968 ; místní IA = 3877 ; místní IC = 29573 ; for (;;) // nekonečná smyčka { výnos ( max * ( poslední = ( poslední * IA + IC ) % IM ) / IM ); } } místní randtor = gen_random ( 100 ); pro ( místní i = 0 ; i < 10 ; i ++ ) print ( ">" + pokračovat randtor + " \n " );Třídy a dědičnost:
třídy BaseVector { konstruktor ( x , y , z ) { toto . x = x ; toto . y = y _ toto . z = z _ } x = 0 _ y = 0 _ z = 0 _ } třída Vector3 rozšiřuje BaseVector { function _add ( other ) // přetížení operátora '+', podrobnosti viz http://www.squirrel-lang.org/squirreldoc/reference/language/metamethods.html { if ( other instanceof :: Vector3 ) return :: Vector3 ( x + jiné . x , y + jiné . y , z + jiné . z ); jiný hodit "špatný parametr" ; } funkce tisku () . { :: tisk ( x + ", " + y + ", " + z + " \n " ); } } lokální v0 = vektor3 ( 1 , 2 , 3 ); lokální v1 = Vektor3 ( 11 , 12 , 13 ); místní v2 = v0 + v1 ; v2 . tisknout ();Zdrojový kód je zkompilován do bajtkódu, který je pak spuštěn na virtuálním počítači. Pro časově kritické úkoly existuje kompilátor JIT .
Programovací jazyky | |
---|---|
|