Ekorre | |
---|---|
Språkklass | multiparadigm |
Utförandetyp | tolkat , JIT |
Framträdde i | 2003 |
Författare | Alberto Demichelis |
Släpp | 3.2 (10 februari 2022 ) |
Blivit påverkad | Lua , Python , Javascript , C++ |
Licens | zlib/libpng-licens |
Hemsida | squirrel-lang.org |
Squirrel (från engelska - "squirrel") är ett tolkat programmeringsspråk designat speciellt för användning som skriptspråk i realtidsapplikationer som datorspel. Den är fritt distribuerad , öppen källkod.
Ekorre är ett språk med dynamisk datatypsbestämning - typen av en variabel bestäms av värdet som den för närvarande lagrar och kan ändras när ett nytt värde tilldelas. Alla värden i Squirrel kan lagras i variabler, användas som argument för funktionsanrop och returneras som ett resultat av deras exekvering.
Värden i Squirrel kan vara av följande typer:
Faktoriell beräkning
funktionsfaktoriell ( x ) _ { om ( x == 0 ) { retur 1 ; } returnera x * faktoriell ( x - 1 ); }Generator av slumptal:
funktion gen_slumpmässig ( max ) { local last = 42 ; lokal IM = 139968 ; lokal IA = 3877 ; lokal IC = 29573 ; för (;;) // oändlig loop { utbyte ( max * ( sista = ( sista * IA + IC ) % IM ) / IM ); } } lokal randtor = gen_random ( 100 ); för ( lokal i = 0 ; i < 10 ; i ++ ) print ( ">" + CV randtor + " \n " );Klasser och arv:
klass BaseVector { konstruktör ( x , y , z ) { detta . x = x ; detta . y = y _ detta . z = z _ } x = 0 _ y = 0 _ z = 0 _ } klass Vector3 utökar BaseVector { function _add ( other ) // '+' operatoröverbelastning, se http://www.squirrel-lang.org/squirreldoc/reference/language/metamethods.html för detaljer { if ( annan instans av :: Vector3 ) return :: Vector3 ( x + annat . x , y + annat . y , z + annat . z ); annan kasta "fel parameter" ; } print () funktion { :: print ( x + ", " + y + ", " + z + " \n " ); } } lokal v0 = Vector3 ( 1 , 2 , 3 ); lokal v1 = Vector3 ( 11 , 12 , 13 ); lokal v2 = v0 + v1 ; v2 . print ();Källkoden kompileras till bytecode, som sedan exekveras på den virtuella maskinen. För tidskritiska uppgifter finns en JIT - kompilator.
Programmeringsspråk | |
---|---|
|