Autor: JIz

for

Cyklus s podmínkou na začátku.

for expression
  statement-body
/for
expression
Výraz, jehož hodnota se testuje před každým vykonáním těla cyklu.
statement-body
Tělo cyklu.

Pojmenování obou typů cyklů v TFS může začátečníkům působit nejasnosti vzhledem k nekompatibilitě s jinými jazyky.

Použití příkazu for bývá poměrně výjimečné; bylo by možné argumentovat, že jeho nedeklarativní povaha není úplně v souladu s principy TFS jako šablonovacího jazyka. Cyklus také proti cyklu while postrádá užitečná rozšíření: zejména možnost detekce prvního a posledního průchodu cyklem.

Viz také cyklus while, zejména v kombinaci s funkcí range. Tímto způsobem je možné eliminovat ty nejtypičtější způsoby použití cyklu for-

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 vložení příspěvku do diskuse se přihlašte.