1

私は関数型プログラミングに不慣れで、この本を読んでいます。基本的に、コードに「var」が含まれている場合、それはまだ命令型の方法で実行していることを意味します。コードを機能的に変更するにはどうすればよいかわかりません。提案してください。

したがって、基本的にこのコードは、テキストをprocessTextし、正規表現を使用して「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

4

1 に答える 1

7

中央のセクションを次のように置き換えてみてください

val list = pattern.findAllIn(taggedText).matchData.map(m => m.group(1)).toList

m => m.group(1)好きなように書くことができ_.group(1)ます。

于 2012-05-16T22:34:42.407 に答える