F# 读取文件中的单词到字符串
F# read words in files to string
我是 F# 新手,需要一些帮助。
这里是一般的想法(还有更多,但我首先需要帮助):从特定目录读取所有 txt 文件,从文件中读取所有单词并保存它们(例如在 seq 中所以没有换行符、特殊字符等)。
我仍然需要能够确定单词的来源,所以这将是一个 Java 示例 String[][] book = ["Alice in Wonderland", ["my", "name", "is", ...]]
。所有的单词也需要小写。
这是一个纯函数式编程作业,所以我不能改变任何东西。
代码简单
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
我希望它清楚。
请注意,您可以将拆分的参数更改为(字符)数组,例如
text.Split([|' '; '\n'|])
您还可以过滤拆分的输出,这样就不允许出现空词。
目前单词也可以重复。
我是 F# 新手,需要一些帮助。
这里是一般的想法(还有更多,但我首先需要帮助):从特定目录读取所有 txt 文件,从文件中读取所有单词并保存它们(例如在 seq 中所以没有换行符、特殊字符等)。
我仍然需要能够确定单词的来源,所以这将是一个 Java 示例 String[][] book = ["Alice in Wonderland", ["my", "name", "is", ...]]
。所有的单词也需要小写。
这是一个纯函数式编程作业,所以我不能改变任何东西。
代码简单
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
我希望它清楚。
请注意,您可以将拆分的参数更改为(字符)数组,例如
text.Split([|' '; '\n'|])
您还可以过滤拆分的输出,这样就不允许出现空词。
目前单词也可以重复。