Co je to iterátor?
iterátor je konstrukt počítačového jazyka, který umožňuje programu číst skupinu hodnot datových hodnot nebo informací systematicky. Iterátoři také umožňují individuální přístup ke každému členovi skupiny, aniž by to ovlivnilo zbytek skupiny. Používají se v mnoha jazycích skriptování a programování, včetně C ++, Java, PHP a Perl. Jejich implementace je nezávislá na objektech, které skenují, takže mohou skenovat jakýkoli typ skupiny objektů. Ve většině počítačových jazyků se iterátoři používají k procházení skupin souvisejících objektů zvaných sbírky. Jejich implementace jsou velmi flexibilní a mohou být použity se sbírkami jakékoli velikosti. Obecně jsou bezpečnější než jednoduchý přístup k prvkům ve sbírce, protože jejich rozsah je omezen na prvky ve sbírce. I když je stále možné získat přístup k indexu mimo omezení, není pravděpodobné, zda je to ITERátor se používá správně.
jsou iterátoři definováni, inicializováni a zpracováni v paměti odlišně v závislosti na počítačovém jazyce, ve kterém jsou použity. Obecná syntaxe pro ně je naopak ve většině jazyků podobná. Existují dva různé typy syntaxe, které lze použít pro iterátory, definované jako explicitní nebo implicitní.
Explicitní iterátoři zahrnují vytvoření objektu iterátoru a tento objekt se pak používá v traverzální smyčce přes prvky kolekce. Implicitní iterátoři zahrnují speciální typ struktury smyčky, který vytváří objekt iterátoru, aniž by byl zadán předem. To, zda jsou pro jakýkoli konkrétní traverz, obvykle záleží na preferenci programátora, jsou to, zda jsou explicitní nebo implicitní iterátoři používány, protože rozdíly v množství kódu nebo výkonu mezi nimi jsou zanedbatelné. Největší rozdíl mezi explicitními a implicitními iterátory je to vysvětlititerátoři ICIT ukazují vytvoření iterátora ve zdrojovém kódu, zatímco implicitní iterátoři to neukazují.
Kdykoli je k dispozici kolekce objektů, lze k jejich skenování použít iterátor. V závislosti na schopnostech počítačového jazyka mohou být iterátoři použity na polích, mapách, seznamech a řadě dalších typů sběru. Iterátoři jsou relativně všudypřítomným rysem programovacích jazyků a většina běžných jazyků má k dispozici nějaký typ funkčnosti. Některé počítačové jazyky umožňují iterátorům s dalšími funkcemi, jako jsou omezení, kolikrát je přístup k prvku. Protože tyto funkce nejsou univerzální, někdy existují způsoby, jak mohou být implementovány nezávisle na samotných iterátorech.