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.