Существует ли стандартная функция для перечисления последовательности F#, которая работает как в Python enumerate()?
Очень легко написать с нуля:
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]
часть выглядит уродливо.