初始化无限的BigIntegers列表

Lyn*_*ite 5 ienumerable f# biginteger sequence seq

好的,所以我需要一个所有正整数的列表.首先想到的是:

let numbers:Seq<bigint>=Seq.initInfinite n...
Run Code Online (Sandbox Code Playgroud)

但initInfite实际上并不存在:http://msdn.microsoft.com/en-us/library/ee370429.aspx (与bigint不同)它唯一:Int32.MaxValue = 2,147,483,647,这远不够大.

目前我的计划是用某种手工类替换序列(可能是IEnumerable的意思).这很简单(可能对我的使用更有效)但我想知道如何做到这一点

Bri*_*ian 12

Seq.unfold (fun n -> Some(n, n + 1I)) 0I
Run Code Online (Sandbox Code Playgroud)


Ank*_*kur 5

let numbers:bigint seq = 
    let rec loop n = seq { yield n; yield! loop (n+1I) }
    loop 0I
Run Code Online (Sandbox Code Playgroud)