Поскольку в F # все является выражением, нетрудно извлечь строку или часть строки и поместить ее в собственный файл.
Пример моей проблемы, где ::
сопоставление с образцом предупредило о возможности пустого списка, но мое состояние, переданное Seq.fold
, всегда имеет список по крайней мере с одним элементом.
module FoldBookmarks
#nowarn "25"
let foldIntoBookmarks: (string * int * int) seq -> XamlReport.PDF.Bookmark seq =
Seq.fold (fun ((tl,pl,acc)::l) (t,p,_) -> (t,acc,p+acc)::((tl,pl,acc)::l)) [("",0,1)]
>> Seq.map(fun (x,y,_) -> PDF.Bookmark(Title=x, PageNumber= System.Nullable(y)))