我正在尝试用 Scala 编写字数统计程序。我使用的是字符串 "file"
:
file.map( _.split(" ")).flatMap(word => (word, 1)).reduceByKey( _ + _ )
一直在说:
value split is not a member of Char
不知道如何解决!
最佳答案
当您在 String
上调用 map
时,它会被扩展为 AbstractSeq[Char]
的 WrappedString
包裹。因此,当您调用 map
时,就好像您是在 Char
的 Seq
上执行此操作,而不是 Seq
字符串
。
请参阅下面的链接获取代码 https://github.com/scala/scala/blob/v2.10.2/src/library/scala/collection/immutable/WrappedString.scala
下面的代码按空格分割并返回大小,即单词计数器。
val file = "Some test data"
file.split("\\s+").size
获取字符串中每个单词出现的次数。
val file = "Some test data test"
println(file.split("\\s+").toList.groupBy(w => w).mapValues(_.length))
关于Scala:值分割不是 char 的成员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21861532/