yield to (1) słowo kluczowe, które ułatwia tworzenie funkcji generatora, (2) instrukcja Ruby do przenoszenia kontroli z jednego programu do drugiego, (3) instrukcja Java używana do uzyskiwania wartości z wyrażenia przełączającego.
Jakie jest użycie yieldsłowa kluczowego w Pythonie i co robi? Na przykład próbuję zrozumieć ten kod 1 : def _get_child_candidates(self, distance, min_dist, max_dist): if self._leftchild and distance - max_dist < self._median: yield self._leftchild if self._rightchild and distance + max_dist >= self._median: yield self._rightchild A to jest osoba dzwoniąca: result, candidates …
W pytaniu Jak mogę ujawnić tylko fragment IList <> jedna z odpowiedzi zawierała następujący fragment kodu: IEnumerable<object> FilteredList() { foreach(object item in FullList) { if(IsItemInPartialList(item)) yield return item; } } Co tam robi słowo kluczowe wydajności? Widziałem to w kilku miejscach i jeszcze jedno pytanie, ale nie do końca zrozumiałem, …
Ciężko mi się owija mózg wokół PEP 380 . Jakie są sytuacje, w których przydatne jest „uzyskiwanie z”? Jaki jest klasyczny przypadek użycia? Dlaczego porównuje się go z mikrowątkami? [ aktualizacja ] Teraz rozumiem przyczynę moich trudności. Używałem generatorów, ale tak naprawdę nigdy nie używałem koronek (wprowadzonych przez PEP-342 ). …
Tworzę konsolę podobną do skryptu na potrzeby osobiste. Muszę być w stanie wstrzymać się na dłuższy czas, ale z moich badań wynika, że node.js nie ma możliwości zatrzymania się zgodnie z wymaganiami. Po pewnym czasie trudno jest odczytać informacje o użytkownikach ... Widziałem trochę kodu, ale uważam, że muszą mieć …
Mam IEnumerable<T>metodę, której używam do znajdowania formantów na stronie WebForms. Ta metoda jest rekurencyjna i mam pewne problemy ze zwróceniem żądanego typu, gdy yield returnzwraca wartość wywołania rekurencyjnego. Mój kod wygląda następująco: public static IEnumerable<Control> GetDeepControlsByType<T>(this Control control) { foreach(Control c in control.Controls) { if (c is T) { yield …
Słyszałem o słowie kluczowym „wydajność” w JavaScript, ale znalazłem bardzo słabą dokumentację na jego temat. Czy ktoś może mi wyjaśnić (lub polecić witrynę, która wyjaśnia) jego użycie i do czego służy?
Biorąc pod uwagę ten kod: IEnumerable<object> FilteredList() { foreach( object item in FullList ) { if( IsItemInPartialList( item ) ) yield return item; } } Dlaczego nie miałbym tego po prostu zakodować w ten sposób ?: IEnumerable<object> FilteredList() { var list = new List<object>(); foreach( object item in FullList ) …
Mam następującą funkcję, aby uzyskać błędy walidacji karty. Moje pytanie dotyczy radzenia sobie z GetErrors. Obie metody mają ten sam typ zwrotu IEnumerable<ErrorInfo>. private static IEnumerable<ErrorInfo> GetErrors(Card card) { var errors = GetMoreErrors(card); foreach (var e in errors) yield return e; // further yield returns for more validation errors } …
Mam obiekt generatora zwrócony przez wielokrotną wydajność. Przygotowanie do wywołania tego generatora jest raczej czasochłonną operacją. Dlatego chcę kilka razy ponownie użyć generatora. y = FunctionWithYield() for x in y: print(x) #here must be something to reset 'y' for x in y: print(x) Oczywiście myślę o skopiowaniu treści na prostą …
Mam przykładowy kod w Pythonie, który muszę naśladować w C ++. Nie potrzebuję żadnego konkretnego rozwiązania (np. Rozwiązania oparte na wspólnych rutynach wydajności, chociaż byłyby one również akceptowalnymi odpowiedziami), po prostu muszę w jakiś sposób odtworzyć semantykę. Pyton Jest to podstawowy generator sekwencji, wyraźnie zbyt duży, aby przechowywać zmaterializowaną wersję. …
Wiem, że w samej Javie nie ma bezpośredniego odpowiednika, ale być może strona trzecia? To naprawdę wygodne. Obecnie chciałbym zaimplementować iterator, który zwraca wszystkie węzły w drzewie, czyli około pięciu wierszy kodu z wydajnością.
Chcę wykonać renderowanie warunkowe na poziomie układu w oparciu o rzeczywisty zdefiniowany szablon content_for(:an__area), masz jakiś pomysł, jak to zrobić?
Czy w Pythonie jest jakaś różnica między tworzeniem obiektu generatora za pomocą wyrażenia generatora a użyciem instrukcji yield ? Korzystanie z wydajności : def Generator(x, y): for i in xrange(x): for j in xrange(y): yield(i, j) Korzystanie z wyrażenia generatora : def Generator(x, y): return ((i, j) for i in …
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.