我使用 Play Framework 已经有一段时间了,但我对 Scala Templates 几乎是新手。对于我作为一个熟悉 C 语言的开发人员来说,有时它看起来有点奇怪
我想知道这里是否有人可以帮助我更好地理解这段代码我从 http://www.playframework.com/documentation/2.2.x/JavaGuide3 (Zentask 示例)
@(projects: List[Project], todoTasks: List[Task])
@main("Welcome to Play") {
<header>
<hgroup>
<h1>Dashboard</h1>
<h2>Tasks over all projects</h2>
</hgroup>
</header>
<article class="tasks">
@todoTasks.groupBy(_.project).map {
case (project, tasks) => {
<div class="folder" data-folder-id="@project.id">
<header>
<h3>@project.name</h3>
</header>
<ul class="list">
@tasks.map { task =>
<li data-task-id="@task.id">
<h4>@task.title</h4>
@if(task.dueDate != null) {
<time datetime="@task.dueDate">
@task.dueDate.format("MMM dd yyyy")</time>
}
@if(task.assignedTo != null && task.assignedTo.email != null) {
<span class="assignedTo">@task.assignedTo.email</span>
}
</li>
}
</ul>
</div>
}
}
</article>
}
这 3 行真的让我很困惑:
@todoTasks.groupBy(_.project).map {
case (project, tasks) => {
@tasks.map { task =>
如果有人能更详细地向我解释这 3 行到底在做什么,我将不胜感激?
多谢你们