Egern

Den aktuelle version af siden er endnu ikke blevet gennemgået af erfarne bidragydere og kan afvige væsentligt fra den version , der blev gennemgået den 23. maj 2017; checks kræver 12 redigeringer .
Egern
Sprog klasse multi-paradigme
Udførelsestype fortolket , JIT
Dukkede op i 2003
Forfatter Alberto Demichelis
Frigøre 3.2 (10. februar 2022 ) ( 2022-02-10 )
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.

Hovedtræk

Forskelle fra Lua

Datatyper

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:

Programeksempler

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 ();

Implementering

Kildekoden kompileres til bytekode, som derefter udføres på den virtuelle maskine. Til tidskritiske opgaver er der en JIT - kompiler.

Programmer, der bruger

Spil

Ikke-gaming apps

  • Kode::Blokkere [2]
  • Whatsapp til Windows

Se også

Noter

  1. "Velkommen til Vice City Multiplayer-webstedet!" Arkiveret 30. marts 2015 på Wayback Machine . vicecitymultiplayer.com
  2. Biplab Kumar Modak. Scripting Code::Blocks // C++ Applikationsudvikling med Code::Blocks. - Packt Publishing Ltd, 2013. - ISBN 9781783283422 .

Links