Autor: JIz

Příkazy TFS

TFS obsahuje jednoduché řídící struktury. Je třeba se vyvarovat složité procedurální logiky v rámci šablony.

TFS obsahuje struktury známé z imperativních jazyků: zejména podmíněné příkazy (if, with, switch) a cykly (while, for). Spolu s možností definovat vlastní proměnné a měnit jejich stav v průběhu vyhodnocování šablony tyto struktury umožňují vytvářet skutečný programový kód.

Toto však je třeba pokládat za nutný vedlejší efekt vyjadřovacích možností jazyka. Korektní přístup k řešení problémů je: vydělit skutečnou logiky, kterou je třeba popsat procedurálně, do kódu řídících tříd; v samotné šabloně ponechat jen prezentační logiku.

Patrné je to zejména z pojetí cyklu, kde se bude klást důraz na cyklus while, umožňující iterovat přes pevně danou kolekci.

Příklad: Eliminace cyklu for použitím funkce range
Varianta s for
{let ls := asList("a","b","c","d","e")}
{let i := 0}
{for lt(i, ls.length)}
  {list(ls, i)}
  {let i := i + 1}
{/for}
Varianta s while
{let ls := asList("a","b","c","d","e")}
{while range(0, ls.length - 1)}
  {list(ls, _)}
{/while}

Oba fragmenty se vyhodnotí stejně. Příklad je ilustrační; v tomto jednoduchém případě by samozřejmě nejlepší byla přímá iterace přes pole.

Pro případy, kdy by bylo potřeba složitě kontrolovat stav různých hodnot a větvit logiku výpisu, jsou k dispozici příkazy usnadňující práci: with, různé větve příkazu while atd.

Tvorbu kvalitního TFS kódu je možné algoritmizovat standardním způsobem.

Pro vložení příspěvku do diskuse se přihlašte.