Автоматическое перечисление последовательности

Существует ли стандартная функция для перечисления последовательности 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]часть выглядит уродливо.

5
задан qehgt 24 May 2012 в 18:51
поделиться