Запись (строка * int) [] в текстовый файл на F # - PullRequest
0 голосов
/ 05 декабря 2018

Я довольно новичок в F #, и это мой первый пост, поэтому я надеюсь, что смогу дать адекватное описание моей проблемы.Как и в заголовке, мне нужно записать мою функцию (string * int) [] в текстовый файл.Я знаю о System.IO.File.WriteAllText (string, string), но есть ли у меня способ записи в текстовый файл без предварительного преобразования в string?Прямо сейчас у меня есть своего рода подсчет слов, который отсортирован по подсчитанному слову, и сколько раз слово встречается.Вот так:

[|("and", 130); ("he", 128); ("that", 103); ("was", 80); ...|]

Каталог файлов текстового файла может быть просто местоположением файла .fsx из моего проекта.

1 Ответ

0 голосов
/ 05 декабря 2018

Вам нужно как-то преобразовать ваш массив.Обычно это хорошая вещь, так как она заставляет вас контролировать формат вашего файла.Конечно, вы могли бы использовать какой-то сериализатор, но это, вероятно, немного для такой простой задачи.

Я бы, вероятно, сделал что-то вроде этого:

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)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...