小编Gly*_*kin的帖子

F#:将一系列序列展平为单个Seq

我正在尝试构建一个包含多个文件内容的单个序列,以便对其进行排序然后传递给图形组件.但是我一直试图将每个文件的内容折叠在一起.下面的伪代码不会编译,但希望将显示我想要实现的目的.

任何帮助,非常感谢.

open System.IO 

let FileEnumerator filename = seq { 
        use sr = System.IO.File.OpenText(filename)
           while not sr.EndOfStream do 
           let line = sr.ReadLine()
            yield line 
}

let files = Directory.EnumerateFiles(@"D:\test_Data\","*.csv",SearchOption.AllDirectories)

let res =
   files 
        |> Seq.fold(fun x item -> 
        let lines =  FileEnumerator(item)
        let sq = Seq.concat x ; lines
        sq
    ) seq<string>

printfn "%A" res
Run Code Online (Sandbox Code Playgroud)

f# f#-scripting

6
推荐指数
1
解决办法
4332
查看次数

标签 统计

f# ×1

f#-scripting ×1