Примери за използване на Итератора на Български и техните преводи на Английски
{-}
-
Colloquial
-
Official
-
Medicine
-
Ecclesiastic
-
Ecclesiastic
-
Computer
Нека разгледаме итератора от близо.
Когато излезе от цикъла,каква е стойността на итератора?“.
Можете също така да накарате итератора да хвърля грешки.
Итератора keys() връща всеки ключ присъстващ в колекцията.
В някои случаи е полезно да се комбинират стойностите от два итератора в един.
Итератора entries() връща array с два елемента с всяко извикване на next().
Но също така е възможно да подавате аргументи към итератора чрез next() метода.
Итератора values() просто връща стойностите, които се съхраняват в колекцията.
Next() да стартиране на задачата ирекурсивно извиква step() докато итератора завърши.
Първото извикване към next()стартира итератора и резултата се съхранява за по-нататъшна употреба.
За да започнете ви трябва функция, която да извика генератор и да стартира итератора, също като.
Методът"next()" преминава през итератора и връща стойността посочена от итератора.
Цикъла for-of автоматично чете всички стойности от итератора и когато там няма повече излиза.
Вие може да подадете обект за грешка към throw(),която трябва да бъде хвърлена, когато итератора продължава обработката.
После, се добавя манипулатор за изпълнение, който извлича стойността от promise ия подава обратно към итератора.
Итератора keys() извлича всеки ключ в colors, tracking и data и тези ключове се отпечатват вътре в три for-of цикъла.
Всички стойности се четат от итератора и след това се вкарват в array в реда, по който се връщат от итератора.
Всеки тип колекция има default итератор, който се използва от for-of всеки път, когато итератора не е изрично посочен.
Методите за контрол на изпълнението next() иthrow() вътре в итератора са с използване на yield, но може също да използвате return изявлението.
Всеки път, където се среща yield, цикъла спира и всеки път, когато next()се извика върху итератора, цикъла продължава със следващия yield.
Throw() подава този обект за грешка обратно в итератора и ако е уловена грешка в задачата, result присвоява следващия добит резултат.
Ако извикаме next(), след последната стойност, която е била върната, метода връща done, като true иvalue съдържаща върнатата стойност за итератора.
Основната цел на итератора е да позволи на потребителя да обработва всеки елемент на структурата от данни, докато изолира потребителя от вътрешната им структура.
Тези два резултата отговарят на последния специален случай за итератори в ECMAScript 6, където next()се извиква върху итератора, след като последното парче от данни е било използвано.
Итератора поддържа вътрешен указател за местоположение в набора от стойности и с всяко извикване на next(), връща следващата подходяща стойност.
В повечето примери в тази глава,последното извикване на next() на итератора връща undefined, но можете да посочите алтернативна стойност, чрез използване на return, както бихте направили във всяка друга функция.
Въпреки че интерфейсът исемантиката на даден итератор са фиксирани, итераторите често се прилагат по отношение на свързаните с тях структури за изпълнение и често са плътно свързани към контейнера, за да отговарят на семантиката на Итератора.
Той имплементира максимална приоритетна опашка, и има три параметъра: обект за сравняване, който се използва за сортиране като функтор например(по подразбиране less<T>), базисният контейнер за съхраняване на структурите от данни(по подразбиране std::vectorT), и два итератора за началото и края на поредицата.
Може да използвате string итератор(обсъден в Глава 8).
Всеки итератор осигурява"next()" и""hasNext()" метод и може да поддържа"remove()" метод.