Mókus | |
---|---|
Nyelvóra | több paradigma |
A végrehajtás típusa | értelmezve , JIT |
Megjelent | 2003 |
Szerző | Alberto Demichelis |
Kiadás | 3.2 (2022. február 10. ) |
Befolyásolva | Lua , Python , Javascript , C++ |
Engedély | zlib/libpng licenc |
Weboldal | squirrel-lang.org |
A Squirrel ( angolul - "squirrel") egy értelmezett programozási nyelv , amelyet kifejezetten valós idejű alkalmazásokban, például számítógépes játékokban való szkriptnyelvként való használatra terveztek. Szabadon terjesztett , nyílt forráskódú.
A Squirrel egy dinamikus adattípus -meghatározással rendelkező nyelv – a változó típusát az aktuálisan tárolt érték határozza meg, és új érték hozzárendelése esetén változhat. A Squirrel összes értéke változóban tárolható, függvényhívások argumentumaként használható , és a végrehajtás eredményeként visszaadható.
A Squirrel értékei a következő típusúak lehetnek:
Tényezőszámítás
függvény faktoriális ( x ) { ha ( x == 0 ) { visszatérés 1 ; } visszatér x * faktoriális ( x - 1 ); }Véletlenszám generátor:
függvény gen_random ( max .) { helyi utolsó = 42 ; helyi IM = 139968 ; helyi IA = 3877 ; helyi IC = 29573 ; for (;;) // végtelen ciklus { hozam ( max * ( utolsó = ( utolsó * IA + IC ) % IM ) / IM ); } } lokális randtor = gen_random ( 100 ); for ( lokális i = 0 ; i < 10 ; i ++ ) nyomtatás ( ">" + randtor folytatása + " \n " );Osztályok és öröklés:
osztályú BaseVector { konstruktor ( x , y , z ) { ezt . x = x ; ezt . y = y_ _ ezt . z = z _ } x = 0_ _ y = 0_ _ z = 0_ _ } Class Vector3 kiterjeszti a BaseVector-t { function _add ( other ) // '+' operátor túlterhelés, részletekért lásd: http://www.squirrel-lang.org/squirreldoc/reference/language/metamethods.html { if ( másik példánya :: Vector3 ) return :: Vector3 ( x + egyéb . x , y + egyéb . y , z + egyéb . z ); más dobja "rossz paraméter" ; } print () függvény { :: print ( x + ", " + y + ", " + z + " \n " ); } } lokális v0 = Vector3 ( 1 , 2 , 3 ); helyi v1 = Vector3 ( 11 , 12 , 13 ); helyi v2 = v0 + v1 ; v2 . nyomtat ();A forráskód bájtkódba kerül lefordításra, amely ezután a virtuális gépen fut le. Az időkritikus feladatokhoz van JIT fordító.
Programozási nyelvek | |
---|---|
|