2011-02-09 62 views
0

無限生成器有什麼聰明用途?我看過很多看起來很瑣碎的例子,如「列出所有偶數」,但我認爲必須有其他人對現實世界的場景更具適用性。具體的例子(支持生成器的任何語言)讚賞!什麼是一些有用或有趣的無限生成器?

我會給一個簡單的樣本作爲答案。

+3

stackoverflow.com的所有無主題問題的列表。 – bmargulies 2011-02-09 20:03:57

回答

0

簡單的例子:收率斐波那契數每次一個(沒有上溢檢查,在C#):

public static IEnumerable<double> Fibonacci() 
{ 
    double n_minus2 = 1; 
    double n_minus1 = 1; 
    yield return n_minus2; 
    yield return n_minus1; 

    while(true) 
    { 
     double n = n_minus2 + n_minus1; 
     yield return n; 
     n_minus2 = n_minus1; 
     n_minus1 = n; 
    } 
} 
+0

OP要求發電機「對現實世界的情景具有更大的適用性」。 – delnan 2011-02-09 20:12:10

+0

@delnan - 我是OP,這就是我說我會舉例說明的例子。 – 2011-02-09 20:14:52

1

隨機發生器可能被認爲是巧妙地利用。

相關問題