Pytania otagowane jako 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.

5
Dlaczego w języku C # anonimowa metoda nie może zawierać instrukcji yield?
Pomyślałem, że fajnie byłoby zrobić coś takiego (z lambdą zwracającą wydajność): public IList<T> Find<T>(Expression<Func<T, bool>> expression) where T : class, new() { IList<T> list = GetList<T>(); var fun = expression.Compile(); var items = () => { foreach (var item in list) if (fun.Invoke(item)) yield return item; // This is not …

4
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 >>> next(it) 2 Próbowałem: def infinity(start): yield start infinity(start + 1) i def infinity(start): yield start yield …

5
Zwrot lub zysk z funkcji wywołującej generator?
Mam generator, generatora także wygodną metodę - generate_all. def generator(some_list): for i in some_list: yield do_something(i) def generate_all(): some_list = get_the_list() return generator(some_list) # <-- Is this supposed to be return or yield? Czy generate_all returnlub yield? Chcę, aby użytkownicy obu metod używali tego samego, tj for x in generate_all() …

2
W PHP: jaka jest różnica między „zwrotem”, „wydajnością”, „wydajnością z” i mieszaniem zarówno wydajności jak i zwrotu w tej samej funkcji?
Różnica pomiędzy returni yieldwydawało się oczywiste, dopóki nie zorientowali się tam także yield fromi możliwość łączenia obu returni yieldw tej samej funkcji! Rozumiałem, returnże wszystko po tym nie zostało wykonane, prawda? Jednak: function generate(): iterable { return [1, 2, 3]; } foreach (generate() as $value) { echo $value; } Produkuje: …
10 php  return  generator  yield 
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.