Pytania oznaczone «yield»

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.

828
Do czego służy słowo kluczowe wydajności w języku C #?

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?...

307
IEnumerable and Recursion using return return

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...

153
Resetowanie obiektu generatora w Pythonie

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:...

117
Odpowiednik C ++ do wzorca generatora Pythona

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...

90
Python: wyrażenie generatora a wydajność

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,...

84
Rekurencja z wydajnością

Czy jest jakiś sposób na połączenie rekurencji i yieldinstrukcji? Na przykład generator liczb nieskończonych (wykorzystujący rekurencję) wyglądałby tak: def infinity(start): yield start # recursion here ... >>> it = infinity(1) >>> next(it) 1 >>>...