【发布时间】:2018-12-18 09:23:14
【问题描述】:
我正在尝试创建一个循环遍历字符串数组的函数,将单词添加到一个新元组中,该元组计算一个单词在文本块中出现的次数。在 OO 语言中,这很简单——为每个单词及其出现的次数创建一个 KV 对。我正在尝试将该代码翻译成 Haskell,但我不认为它那么简单。
countWords:: [String] -> [(String, Int)]
我知道我需要创建一个元组列表,但我不确定如何循环使用递归传递给函数的列表。
【问题讨论】:
-
似乎是
map的一个简单用例,结合了一个计算单词在文本中出现次数的函数。但请注意,由于 Haskell 是“引用透明的”,因此您要检查的文本也需要作为参数传递给函数。