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