Syntaxe v nejvyšší úrovni
Předcházející | Kapitola 7. Pokročilé programování v jazyce GEL | Další

## Syntaxe v nejvyšší úrovni

Syntaxe se lehce liší, když zadáváte příkazy v nejvyšší úrovni a když jsou uvnitř závorek nebo uvnitř funkce. Na nejvyšší úrovni zadání funguje stejně, jako když zmáčknete Enter na příkazovém řádku. Proto uvažujte o programu, jako o sekvenci řádků, které byste zadávali na příkazovém řádku. Především nepotřebujete zadávat oddělovač na konci řádku (ledaže se jedná o část několika příkazů v závorkách). Když výraz nekončí na nejvyšší úrovni oddělovačem, bude výsledek vypsán až po spuštění.

Například,

    function f(x)=x^2
    f(3)

vypíše se jako první výsledek nastavení funkce (tj. reprezentaci funkce, v tomto případě `(`(x)=(x^2))`) a teprve pak očekávané číslo 9. Abyste tomu předešli, zadejte za definici funkce oddělovače.

    function f(x)=x^2;
    f(3)

Když potřebujete oddělovač použít přímo ve své funkci, musíte ji uzavřít do závorek. Například:

    function f(x)=(
      y=1;
      for j=1 to x do
        y = y+j;
      y^2
    );

Následující kód skončí chybou, pokud jej zadáte v nejvyšší úrovni programu, zatímco ve funkci bude pracovat bez problémů.

    if Neco() then
      UdelatNeco()
    else
      UdelatNecoJineho()

Problémem je, že po té, co matematický nástroj Genius uvidí konec řádku po druhém řádku, usoudí, že příkaz už je celý a provede jej. Po té, co je provádění dokončeno, bude matematický nástroj Genius pokračovat na následujícím řádku, uvidí `else`, a vyvolá chybu zpracování. Řešením je použít závorek. Matematický nástroj Genius nebude spokojen, dokud nenalezne všechny závorky uzavřené.

    if Neco() then (
      UdelatNeco()
    ) else (
      UdelatNecoJineho()
    )

Předcházející | Nahoru | Další
Kapitola 7. Pokročilé programování v jazyce GEL | Domů | Vracení funkcí