Почему происходит сбой этого кода во второй раз, когда он выполняется в FSI?

У меня есть код, который генерирует исключение second time выполнено в ФСИ. Последовательность следующая:

1) Выберите все строки above это, бежать на FSI с помощью Alt+Enter,

2) Выберите код, запустите FSI с помощью Alt+Enter, Пока без ошибок.

3) Запустите выбранный код еще раз, нажав Alt+Enter, Ошибка (см. Ниже).

Вот строки кода, генерирующие это поведение:

let assetsMap =
    assetInfo.Rows
    |> Seq.filter (fun (rw: AssetsInfo.Row) -> Set.contains rw.Ticker assetsTickerSet)
    |> List.ofSeq
    |> List.map (fun rw -> rw.Ticker, Asset.constructor rw) // Frame.ReadCSV called here
    |> Map.ofSeq

Соответствующая информация:

type AssetsInfo = FSharp.Data.CsvProvider<...> 

Сообщение об ошибке:

System.InvalidOperationException: tried to skip The input sequence has an insufficient number of elements. 1 past the end of the seq
   at Microsoft.FSharp.Collections.SeqModule.Skip@1316.GenerateNext(IEnumerable`1& next)
   at Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1.MoveNextImpl()
   at Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1.System-Collections-IEnumerator-MoveNext()
   at FSharp.Data.Runtime.CsvHelpers.parseIntoTypedRows@176.GenerateNext(IEnumerable`1& next) in C:\Git\FSharp.Data\src\Csv\CsvRuntime.fs:line 176
   at Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1.MoveNextImpl()
   at Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1.System-Collections-IEnumerator-MoveNext()
   at Microsoft.FSharp.Collections.Internal.IEnumerator.next@187[T](FSharpFunc`2 f, IEnumerator`1 e, FSharpRef`1 started, Unit unitVar0)
   at Microsoft.FSharp.Collections.Internal.IEnumerator.filter@182.System-Collections-IEnumerator-MoveNext()
   at Microsoft.FSharp.Collections.SeqModule.ToList[T](IEnumerable`1 source)
   at <StartupCode$FSI_0035>.$FSI_0035.main@() in H:\Dropbox\BitBucket\VSProjects\Fractal10\Fractal10\Program.fs:line 139
Stopped due to error

Любые идеи о причине этого странного поведения?

0 ответов

Другие вопросы по тегам