Вопросы с тегом «iterator»

48
Почему итераторы в Python вызывают исключение?

Вот синтаксис для итераторов в Java (несколько похожий синтаксис в C #): Iterator it = sequence.iterator(); while (it.hasNext()) { System.out.println(it.next()); } Что имеет смысл. Вот эквивалентный синтаксис в Python: it = iter(sequence) while True: try: value = it.next() except StopIteration:...

31
Почему Python делает копию отдельного элемента только при итерации списка?

Я только что понял, что в Python, если кто-то пишет for i in a: i += 1 Элементы исходного списка aфактически не будут затронуты вообще, поскольку переменная iоказывается просто копией исходного элемента в a. Для того, чтобы изменить оригинальный элемент, for index, i in enumerate(a): a[index] += 1...

24
Шаблон итератора - почему важно не раскрывать внутреннее представление?

Я читаю C # Design Pattern Essentials . В настоящее время я читаю о шаблоне итератора. Я полностью понимаю, как реализовать, но я не понимаю важность или вижу вариант использования. В книге приведен пример, где кто-то должен получить список объектов. Они могли бы сделать это, выставив публичную...

18
Модульные тесты: отложенные утверждения с Linq

Это нормально, чтобы добавить отложенные утверждения, как это var actualKittens = actualKittens.Select(kitten => { Assert.IsСute(kitten); return kitten }); Почему? Так что я могу выполнить итерацию только один раз, даже если операторы ожидают материализованную коллекцию, например:...

17
Являются ли функции генератора действительными в функциональном программировании?

Вопросы: Разрушают ли генераторы парадигму функционального программирования? Почему или почему нет? Если да, могут ли генераторы использоваться в функциональном программировании и как? Учтите следующее: function * downCounter(maxValue) { yield maxValue; yield * downCounter(maxValue > 0 ?...

11
Есть ли у итератора неразрушающий подразумеваемый контракт?

Допустим, я проектирую собственную структуру данных, такую ​​как стек или очередь (например, - это может быть какая-то другая произвольная упорядоченная коллекция, которая имеет логический эквивалент pushи popметоды - то есть деструктивные методы доступа). Если бы вы реализовывали итератор (в...

11
C ++ Iterator, Почему нет базового класса Iterator, от которого наследуются все итераторы

Я готовлюсь к экзамену, и у меня есть вопрос, на который я стараюсь дать ответ. Почему не существует базового класса итераторов, от которого наследуются все остальные итераторы? Полагаю, мой учитель ссылается на иерархическую структуру из ссылки на cpp " http://prntscr.com/mgj542 ", и мы должны...

9
Почему Java Iterator и ListIterator указывают между элементами?

Javadoc для ListIterator говорит: А ListIteratorне имеет текущего элемента; его позиция курсора всегда находится между элементом, который будет возвращен вызовом, previous()и элементом, который будет возвращен вызовом next(). Почему в Java ListIteratorреализовано указание между элементами, а не на...

9
Что делает итератор шаблоном дизайна?

Мне было интересно, что же делает Итератор особенным по сравнению с другими подобными конструкциями, и это заставило Банду Четырех перечислить его как шаблон проектирования. Итератор основан на полиморфизме (иерархия коллекций с общим интерфейсом) и разделении задач (итерации по коллекциям должны...