我对 F# 还很陌生,这是我的第一篇文章,所以我希望我能够对我的问题提供充分的描述。
就像标题所说,我需要将 (string * int) []
函数写入文本文件。我知道 System.IO.File.WriteAllText (string, string)
,但是有没有办法让我在不先转换为 string
的情况下写入文本文件?
现在我有一种字数统计,它按照统计的单词以及该单词出现的次数进行排序。就像这样:
[|("and", 130); ("he", 128); ("that", 103); ("was", 80); ...|]
文本文件的文件目录可以是我的项目中的 .fsx
文件的位置。
最佳答案
您确实需要以某种方式转换您的数组。这通常是一件好事,因为它迫使您控制文件的格式。当然,您可以使用某种序列化器,但这对于这样一个简单的任务来说可能有点太多了。
我可能会做这样的事情:
open System.IO
let words = [|("and", 130); ("he", 128); ("that", 103); ("was", 80) |]
let lines = words |> Array.map (fun (w, c) -> sprintf "%s;%i" w c)
File.WriteAllLines(__SOURCE_DIRECTORY__ + @"\file.csv", lines)
关于f# - 在 F# 中将 (string * int) [] 写入文本文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53633609/