这个Play 2 ScalaTemplates代码如何工作?

时间:2012-09-07 05:36:14

标签: scala playframework-2.0

请解释以下代码:

@title(text: String) = @{
  text.split(' ').map(_.capitalize).mkString(" ")
}

<h1>@title("hello world")</h1>

1 个答案:

答案 0 :(得分:3)

reusable code block @title(text: String)

的细分
  1. text.split( ' ' )通过''分割字符串,将文本分隔为列表,例如“hello world”将成为 [“hello”,“world”]

  2. map(_.capitalize)迭代列表,在每个元素上调用capitalize,然后返回新的List,例如 [“hello”,“world”] 变为 [“Hello”,“World”] This blog post概述了 _

  3. mkString(" ") List 转换为 String ,方法是将字符串与“”连接起来,例如 [“Hello”,“World”] 成为“Hello World”

  4. 总之,@title(text: String)大写字符串中的所有单词。

    <h1>@title("hello world")</h1>是您在ScalaTemplate中输出结果的方式。