Az ELASTIC programozási nyelv

Alprogramok

Mint a C/C++ -ban, itt is csak függvény írására van lehetőség a function kulcsszó segítségével, de a függvény visszatérési típusát nem kell a függvény deklarációs részében feltüntetni. Ha egy alprogram törzsében, egy végrehajtási úton nem szerepel a return kulcsszó, akkor a függvény visszatérési értéke az utolsó utasítás értéke lesz.

Lokális változók

Lokális változót a static, és a local foglalt szavakkal deklarálhatunk. A statikus változók értéke megőrződik a függvényhívások között, és csak az első függvényhíváskor inicializálódnak, míg a local kulcsszóval deklaráltak élettartalma és láthatósága a függvény törzsére korlátozódik.

Paraméterek

A függvények paraméterlistájában a dinamikus típusrendszer miatt csak formális paraméterek neveit kell feltüntetni. Lehetőség van változó hosszú paraméterlista írására a formális_név... felhasználásával, ilyenkor a meg nem nevezett paramétereket a formális_név nevű tömbváltozó segítségével érhetjük el. A paraméterek minden esetben referencia szerint adódnak át.

 
        public function hello(a, b...) 
        {
               basic.print(a,"\n");
               basic.print(b,"\n");
        }
 
        hello("Hello", "vilag", "!");

A fenti programrészlet kimenete:

 
        Hello
        ["vilag", "!"]

A függvények deklarálásakor a függvény neve elhagyható, így írhatunk névtelen függvényeket (closure), amelynek felhasználására már láttunk példát a bájtkód típusnál, de álljon itt még egy-két példa a jobb érthetőség miatt.

 
        //névtelen fv. paraméterként való átadása:
        map(#[1,2,3], function(x) 
               {
                       return x ** 2;
               }
        );
 
        //értékadás változónak:
        local pow = function(x,y) 
        {                      
               return x ** y;
        };
        local sqr = function(x) 

  

Túlterhelés

A nyelv név alapján azonosítja a függvényeket, így nem támogatja a függvények túlterhelését, de a nyelv dinamikus típusrendszere segítségével, és a változó hosszú paraméterlista felhasználásával könnyen szimulálhatjuk a függvénytúlterhelést.