2

TODOチュートリアルで簡単なことを試しています。

タスク リストをテーブルに表示したいのですが、イテレーションでインデックスを取得する方法が見つかりません。

@tasks.map { task =>
                <tr>
                    <td><!-- DISPLAY INDEX HERE --></td>
                    <td>
                        @form(routes.Application.deleteTask(task.id.get)) {
                            <input type="submit" class="btn btn-primary remove_task" value="-">
                        }
                        @task.label
                    </td>
                </tr>
            }

何か案は?

4

2 に答える 2

4

使用できます@tasks.zipWithIndex.map { case (task, index) => ... }

于 2012-10-12T18:25:58.063 に答える
1

を使用できますzipWithIndex。例えば:

scala> List("A","B","C")
res4: List[java.lang.String] = List(A, B, C)

scala> res4.zipWithIndex
res5: List[(java.lang.String, Int)] = List((A,0), (B,1), (C,2))

最終的なコードは次のようになりtaskます。変数の名前を変更したことに注意してください。

@tasks.zipWithIndex.map { tuple =>
                <tr>
                    <td>tuple._2</td>
                    <td>
                        @form(routes.Application.deleteTask(tuple._1.id.get)) {
                            <input type="submit" class="btn btn-primary remove_task" value="-">
                        }
                        @tuple._1.label
                    </td>
                </tr>
            }
于 2012-10-12T18:24:30.433 に答える