我是函数式编程的新手,因为我正在读这本书。它基本上说如果你的代码包含“var”,那就意味着你仍然在以命令的方式做。我不确定如何将代码更改为功能方式。请建议。
所以基本上这个代码的作用是使用textText处理一些文本并使用正则表达式从“taggedText”中提取特定文本并将其添加到列表并将列表转换为json。
val text = params("text")
val pattern = """(\w+)/ORGANIZATION""".r
var list = List[String]()
val taggedText = processText(text)
pattern.findAllIn(taggedText).matchData foreach {
m => list ::= m.group(1)
}
pretty(render(list)) // render to json
答案 0 :(得分:7)
尝试用
替换中间部分val list = pattern.findAllIn(taggedText).matchData.map(m => m.group(1)).toList
如果需要,您可以将m => m.group(1)
写为_.group(1)
。