如何将此代码更改为scala中的函数式编程?

时间:2012-05-16 22:27:03

标签: scala functional-programming

我是函数式编程的新手,因为我正在读这本书。它基本上说如果你的代码包含“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

1 个答案:

答案 0 :(得分:7)

尝试用

替换中间部分
val list = pattern.findAllIn(taggedText).matchData.map(m => m.group(1)).toList

如果需要,您可以将m => m.group(1)写为_.group(1)