2

请解释下面的代码:

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

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

1 回答 1

3

可重用代码块的分解 @title(text: String)

  1. text.split( ' ' )通过用' '分割字符串将文本分成一个列表,例如"hello world"将变为["hello", "world"]

  2. map(_.capitalize)迭代List,调用capitalize每个元素,并返回新的 List,例如["hello", "world"]变为["Hello", "World"]这篇博文很好地概述了_

  3. mkString(" ")通过使用" "连接字符串,将List转换回字符串,例如["Hello", "World"]变为"Hello World"

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

<h1>@title("hello world")</h1>就是您如何在ScalaTemplate中输出结果。

于 2012-09-07T05:58:09.757 回答