Egern | |
---|---|
Sprog klasse | multi-paradigme |
Udførelsestype | fortolket , JIT |
Dukkede op i | 2003 |
Forfatter | Alberto Demichelis |
Frigøre | 3.2 (10. februar 2022 ) |
Blev påvirket | Lua , Python , Javascript , C++ |
Licens | zlib/libpng-licens |
Internet side | squirrel-lang.org |
Squirrel (fra engelsk - "squirrel") er et fortolket programmeringssprog designet specifikt til brug som et scriptsprog i realtidsapplikationer såsom computerspil. Det er frit distribueret , open source.
Egern er et sprog med dynamisk datatypebestemmelse - typen af en variabel bestemmes af den værdi, den i øjeblikket gemmer og kan ændre sig, når en ny værdi tildeles. Alle værdier i Squirrel kan gemmes i variabler, bruges som argumenter til funktionskald og returneres som et resultat af deres udførelse.
Værdier i Squirrel kan være af følgende typer:
Faktoriel beregning
funktionsfaktor ( x ) _ { hvis ( x == 0 ) { retur 1 ; } returnere x * faktoriel ( x - 1 ); }Generator af tilfældige tal:
funktion gen_tilfældig ( maks .) { lokal sidste = 42 ; lokal IM = 139968 ; lokal IA = 3877 ; lokal IC = 29573 ; for (;;) // uendelig sløjfe { udbytte ( max * ( sidste = ( sidste * IA + IC ) % IM ) / IM ); } } lokal randtor = gen_tilfældig ( 100 ); for ( lokal i = 0 ; i < 10 ; i ++ ) print ( ">" + resume randtor + " \n " );Klasser og arv:
klasse BaseVector { konstruktør ( x , y , z ) { dette . x = x ; dette . y = y _ dette . z = z _ } x = 0 _ y = 0 _ z = 0 _ } klasse Vector3 udvider BaseVector { function _add ( other ) // '+' operator overload, se http://www.squirrel-lang.org/squirreldoc/reference/language/metamethods.html for detaljer { if ( anden forekomst af :: Vector3 ) return :: Vector3 ( x + andet . x , y + andet . y , z + andet . z ); andet smid "forkert parameter" ; } print () funktion { :: print ( x + ", " + y + ", " + z + " \n " ); } } local v0 = Vector3 ( 1 , 2 , 3 ); lokal v1 = Vector3 ( 11 , 12 , 13 ); lokal v2 = v0 + v1 ; v2 . print ();Kildekoden kompileres til bytekode, som derefter udføres på den virtuelle maskine. Til tidskritiske opgaver er der en JIT - kompiler.
Programmeringssprog | |
---|---|
|