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.
{let ls := asList("a","b","c","d","e")}
{let i := 0}
{for lt(i, ls.length)}
{list(ls, i)}
{let i := i + 1}
{/for}
{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.