是否有标准函数来列举一个F#序列, 其功能如 Python s enumberate () ?
这很容易从零开始写作:
let enumerate (sq : seq< T>) = seq {
let rec loop (e : IEnumerator< T>) index = seq {
if e.MoveNext() then
yield (index, e.Current)
yield! loop e (index+1)
}
use enum = sq.GetEnumerator()
yield! loop enum 0
}
但我不想重塑轮子
PS:还有,我试过
let seasons = ["Spring"; "Summer"; "Fall"; "Winter"]
for x in Seq.zip [0..100000] seasons do
printfn "%A" x
但此 [0. 10000]
部分看起来很丑陋 。