Запитання з тегом «iterator»

Ітератор - це об'єктно-орієнтована схема програмування, яка дозволяє пройти через колекцію, агностику фактичної адреси реалізації або об'єктів у фізичній пам'яті. Це одна з моделей поведінки банд Четири.

11
Ітерація через вектор C ++, використовуючи цикл 'для'
Я новачок у мові C ++. Я почав використовувати вектори, і помітив, що у всьому коді, який я бачу, щоб повторюватись хоч вектором через індекси, перший параметр forциклу - це завжди щось на основі вектора. У Java я можу зробити щось подібне з ArrayList: for(int i=0; i < vector.size(); i++){ …

5
Ітерація над об’єктними ключами в node.js
Оскільки у Javascript 1.7 є об’єкт Iterator , який дозволяє це: var a={a:1,b:2,c:3}; var it=Iterator(a); function iterate(){ try { console.log(it.next()); setTimeout(iterate,1000); }catch (err if err instanceof StopIteration) { console.log("End of record.\n"); } catch (err) { console.log("Unknown error: " + err.description + "\n"); } } iterate(); чи є щось подібне в …


3
Різниця між Ітератором і Листератором?
Iterator ite = Set.iterator(); Iterator ite = List.iterator(); ListIterator listite = List.listIterator(); Ми можемо використовувати Iteratorдля обходу Seta Listабо a Map. Але ListIteratorйого можна використовувати лише для переходу через a List, а не через a Set. Чому? Я знаю, що головна відмінність полягає в тому, що за допомогою ітератора ми …


12
Ітерація над Typescript картою
Я намагаюся перебрати карту машинопису, але я все одно отримую помилки, і я не могла знайти рішення для такої тривіальної проблеми. Мій код: myMap : Map<string, boolean>; for(let key of myMap.keys()) { console.log(key); } І я отримую Помилку: Тип "IterableIteratorShim <[string, boolean]>" - це не тип масиву чи тип рядка. …

3
Що станеться, якщо ви викликаєте стирання () на елементі карти під час ітерації від початку до кінця?
У наступному коді я переглядаю карту і перевіряю, чи потрібно стирати елемент. Чи безпечно стирати елемент і зберігати ітерацію чи мені потрібно збирати ключі в інший контейнер і робити другий цикл для виклику стирання ()? map<string, SerialdMsg::SerialFunction_t>::iterator pm_it; for (pm_it = port_map.begin(); pm_it != port_map.end(); pm_it++) { if (pm_it->second == …
133 c++  stl  iterator 


7
Який "спосіб Ruby" переглядати два масиви одночасно
Більше синтаксичної цікавості, ніж проблеми для вирішення ... У мене є два масиви однакової довжини і хочу повторити їх обидва одночасно - наприклад, вивести обидва їх значення за певним індексом. @budget = [ 100, 150, 25, 105 ] @actual = [ 120, 100, 50, 100 ] Я знаю, що можу …
127 ruby  arrays  iterator 

5
Чому повторення над списком було б швидшим, ніж індексація через нього?
Читаючи документацію Java для списку ADT, вона говорить: Інтерфейс списку надає чотири способи позиційного (індексованого) доступу до елементів списку. Списки (як масиви Java) базуються на нулі. Зауважте, що ці операції можуть виконуватись у часі пропорційно значенню індексу для деяких реалізацій (наприклад, клас LinkedList). Таким чином, ітерація над елементами списку, як …
125 java  list  iterator 


6
Ітерація над рядками рядка
У мене багаторядковий рядок визначений так: foo = """ this is a multi-line string. """ Цей рядок, який ми використовували як тестовий вхід для аналізатора, про який я пишу. Функція парсера отримує file-об'єкт як вхід і повторює його. Він також викликає next()метод безпосередньо для пропуску рядків, тому мені дуже потрібен …
119 python  string  iterator 

7
Чи є вираз для нескінченного генератора?
Чи існує прямий вираз генератора, який може давати нескінченні елементи? Це суто теоретичне питання. Тут не потрібно "практичної" відповіді :) Наприклад, легко зробити генератор кінцевих даних: my_gen = (0 for i in xrange(42)) Однак, щоб зробити нескінченним, мені потрібно "забруднити" мій простір імен фальшивою функцією: def _my_gen(): while True: yield …

7
Масштабування вниз або зменшення для циклу?
У Scala ви часто використовуєте ітератор, щоб робити forцикл у зростаючому порядку, наприклад: for(i <- 1 to 10){ code } Як би ви це зробили, щоб вона пройшла від 10 до 1? Я думаю, 10 to 1дає порожній ітератор (як звичайна математика діапазону)? Я створив сценарій Scala, який вирішує його, …

9
Який найкращий спосіб перебрати два або більше контейнерів одночасно
C ++ 11 пропонує безліч способів ітерації над контейнерами. Наприклад: Петля на основі діапазону for(auto c : container) fun(c) std :: for_each for_each(container.begin(),container.end(),fun) Однак який спосіб рекомендується перебирати над двома (або більше) контейнерами однакового розміру, щоб виконати щось на кшталт: for(unsigned i = 0; i < containerA.size(); ++i) { containerA[i] …

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.