F#将文件中的单词读取为字符串

时间:2015-03-29 12:35:25

标签: f# functional-programming

我是F#的新手,我需要一些帮助。

这是一般的想法(还有更多,但我首先需要帮助):从特定目录中读取所有txt文件,读取文件中的所有单词并保存它们(例如在seq中所以没有换行符,特殊人物等)。

我仍然需要能够确定单词的来源,这将是一个Java示例String[][] book = ["Alice in Wonderland", ["my", "name", "is", ...]]。所有的话也需要小写。

这是一个纯粹的函数编程任务,所以我不允许改变任何东西。

1 个答案:

答案 0 :(得分:0)

代码很简单

open System
open System.IO

let readFile path =
    let text = File.ReadAllText(path)
    text.Split(' ')    

let readTheFiles path =
    let files = Directory.GetFiles(path)
    files |> Array.map(fun(f) -> f, readFile f)

[<EntryPoint>]
let main argv = 
    let result = readTheFiles @"C:\Users\Michal\Documents\Visual Studio 2015\Projects\books"
    0

我希望它清楚。

请注意,您可以将拆分的参数更改为数组(chars),例如

text.Split([|' '; '\n'|])

您还可以过滤分割的输出,以便不允许空单词。

目前语言也可以重复。