我刚开始玩F#,所以这个问题可能很基本......
我想逐行读取文本文件,然后忽略第一行并使用给定函数处理其他行.所以我在考虑使用以下内容:
File.ReadAllLines(path)
|> Array.(ignore first element)
|> Array.map processLine
Run Code Online (Sandbox Code Playgroud)
什么是一种优雅而有效的方法来实现它?
跳过数组中的第一行没有简单的函数,因为操作效率不高(它必须复制整个数组),但如果使用延迟序列,则可以轻松完成:
File.ReadAllLines(path)
|> Seq.skip 1
|> Seq.map processLine
Run Code Online (Sandbox Code Playgroud)
如果您需要数组中的结果(而不是seq<'T>F#别名IEnumerable<'T>),那么您可以添加Seq.toArray到结尾.但是,如果您只是想稍后迭代这些行,那么您可能只是使用序列.