Iterator jest zorientowanym obiektowo wzorcem programowania, który umożliwia przechodzenie przez kolekcję, niezależnie od rzeczywistej implementacji lub adresów obiektów w pamięci fizycznej. Jest to jeden z wzorców projektowania behawioralnego Gang of Four.
Jak to RecursiveIteratorIteratordziała? Podręcznik PHP nie ma nic dobrze udokumentowanego ani wyjaśnionego. Jaka jest różnica między IteratorIteratori RecursiveIteratorIterator?
Widziałem wiele pytań, które sugerują użycie: for (var i = 0; i < myArray.length; i++){ /* ... */ } zamiast: for (var i in myArray){ /* ... */ } dla tablic z powodu niespójnej iteracji ( patrz tutaj ). Jednak nie mogę znaleźć niczego, co wydaje się preferować pętlę obiektową: …
Powiedzmy, że mamy Map : let m = new Map();, użycie m.values()zwraca iterator mapy. Ale nie mogę używać forEach()lub map()na tym iteratorze, a implementacja pętli while na tym iteratorze wydaje się być anty-wzorcem, ponieważ ES6 oferuje funkcje takie jak map(). Czy jest więc sposób użycia map()na iteratorze?
Chciałbym wiedzieć, co się stanie, gdy przekażę wynik funkcji generatora do metody enumerate () w języku Python. Przykład: def veryBigHello(): i = 0 while i < 10000000: i += 1 yield "hello" numbered = enumerate(veryBigHello()) for i, word in numbered: print i, word Czy wyliczenie powtarza się leniwie, czy też …
Zastanawiam się nad zaimplementowaniem IEnumerable dla mojej kolekcji niestandardowej (drzewa), aby móc używać foreach do przechodzenia po moim drzewie. Jednak z tego co wiem, zawsze zaczyna się od pierwszego elementu kolekcji. Chciałbym wybrać, od którego elementu każdy zaczyna się. Czy da się jakoś zmienić element, od którego każdy zaczyna?
Dlaczego obiekty nie są domyślnie iterowalne? Cały czas widzę pytania związane z iteracją obiektów, a typowym rozwiązaniem jest iteracja właściwości obiektu i uzyskiwanie w ten sposób dostępu do wartości w obiekcie. Wydaje się to tak powszechne, że zastanawiam się, dlaczego same obiekty nie są iterowalne. Instrukcje, takie jak ES6 for...of, …
Być może padłem ofiarą dezinformacji w sieci, ale wydaje mi się, że jest bardziej prawdopodobne, że coś źle zrozumiałem. Opierając się na tym, czego się do tej pory nauczyłem, range () jest generatorem, a generatory mogą być używane jako iteratory. Jednak ten kod: myrange = range(10) print(next(myrange)) daje mi ten …
Jestem nowym użytkownikiem języka Ruby i obecnie próbuję operować na każdym znaku oddzielnie od podstawowego ciągu znaków w języku Ruby. Używam Ruby 1.8.6 i chciałbym zrobić coś takiego: "ABCDEFG".each_char do |i| puts i end Powoduje to niezdefiniowany błąd metody „each_char”. Spodziewałem się zobaczyć pionowy wynik: A B C D ..etc …
Czy istnieje algorytm do szacowania mediany, trybu, skośności i / lub kurtozy zbioru wartości, ale NIE wymaga to jednoczesnego przechowywania wszystkich wartości w pamięci? Chciałbym obliczyć podstawowe statystyki: mean: średnia arytmetyczna wariancja: średnia kwadratów odchyleń od średniej odchylenie standardowe: pierwiastek kwadratowy z wariancji mediana: wartość, która oddziela większą połowę liczb …
Obecnie mogę wykonywać tylko pętle dystansowe za pomocą tego: for (auto& value : values) Ale czasami potrzebuję iteratora do wartości zamiast odniesienia (z dowolnego powodu). Czy jest jakaś metoda bez konieczności porównywania wartości przez cały wektor?
Jest to raczej odwrotność do czego można używać funkcji generatora w języku Python? : generatory Pythona, wyrażenia generatora i itertoolsmoduł to niektóre z moich ulubionych funkcji w dzisiejszym Pythonie. Są szczególnie przydatne podczas konfigurowania łańcuchów operacji do wykonania na dużym stosie danych - często używam ich podczas przetwarzania plików DSV. …
Czy można dodawać elementy do kolekcji podczas iteracji po niej? Dokładniej, chciałbym iterować po kolekcji, a jeśli element spełnia określony warunek, chcę dodać inne elementy do kolekcji i upewnić się, że te dodane elementy są również iterowane. (Zdaję sobie sprawę, że może to prowadzić do nieskończonej pętli, ale jestem prawie …
Mam bardzo długi i skomplikowany obiekt json, ale chcę uzyskać tylko elementy / klucze na pierwszym poziomie! Przykład: { "1": "a", "3": "b", "8": { "12": "c", "25": "d" } } Chcę otrzymać wynik 1,3,8 ! Znalazłem ten kod: for key, value in data.iteritems(): print key, value Ale wypisuje wszystkie …
Wszystkie przykłady użycia yield return x;wewnątrz metody C #, które widziałem, można wykonać w ten sam sposób, zwracając po prostu całą listę. Czy w takich przypadkach jest jakaś korzyść lub korzyść z używania yield returnskładni w porównaniu z zwracaniem listy? Ponadto w jakich scenariuszach można yield returnby użyć, że nie …
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.