GEL is somewhat different from other languages in how it deals with multiple commands and functions.
In GEL you must chain commands together with a separator operator.
That is, if you want to type more than one expression you have to use
the ;
operator in between the expressions. This is
a way in which both expressions are evaluated and the result of the second one (or the last one
if there is more than two expressions) is returned.
Suppose you type the following:
3 ; 5
This expression will yield 5.
Občas to vyžaduje použití závorek, aby se předešlo nejednoznačnostem, zvláště když ;
není nejvyšším primitivem. Liší se to trochu od jiných programovacích jazyků, kde ;
je zakončovacím symbolem příkazů, zatímco v jazyce GEL je to v současnosti binární operátor. Pokud jste zběhlí v jazyce Pascal, mělo by to pro vás být přirozené. Nicméně Genius může do určité míry předstírat, že se jedná o zakončovací symbol. Když se ;
nachází na konci závorek nebo bloku, Genius za něj připojí prázdný uzel podobně, jako byste napsali ;null
. To je užitečné v případě, kdy chcete vrátit hodnotu, řekněme ze smyčky, nebo když pracujete s návratovými hodnotami odděleně. Upozorňujeme, že to mírně zpomaluje provádění kódu, pokud je spouštěn často, protože je v něm navíc další operátor.
Když v programu píšete výraz, nemusíte za něj přidávat středník. V takovém případě bude Genius prostě vypisovat vrácenou hodnotu, kdykoliv se výraz vyhodnotí. Nicméně vezměte na vědomí, že když definujete funkci, je celé tělo funkce jediný výraz.