2011-02-09 60 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

随机发生器可能被认为是巧妙地利用。

相关问题