###前提・実現したいこと
ScalaのPlayframeworkでユーザ情報を画面に表示する画面を作っています。
ユーザを一覧表示したいのですが、一部のユーザが複数データあり、
ユーザが重複して表示されてしまっています。
###発生している問題・エラーメッセージ
Userのidを重複しないようにして表示したいのですが
記述の仕方がよくわからないのでご教授ください
###該当のソースコード
package controllers import play.api._ import play.api.mvc._ import scala.concurrent.Future import scala.concurrent.ExecutionContext.Implicits.global case class User(id : Int, name : String, score : Seq[Long]) object Application extends Controller { val users : Seq[User] = { Seq(User(1, "Tom", Seq(100, 200)), User(2, "John", Seq(500)), User(3, "Bob", Seq(300, 400)), User(1, "Tom", Seq(600))) } def list = Action { Ok(views.html.list(users)) } }
@(users : Seq[User]) <ul> @for(user <- users.groupBy(_.id).toSeq.sortBy(_._1).map(_._2)){ <li> @user</li> } </ul>
###試したこと
Seqに対してgroupByやmapで表示しようとしましたが、
重複しているユーザをうまくひとつのユーザにできませんでした。
上記ソースですと、以下のような表示になります。
User(1,Tom,List(100, 200))User(1,Tom,List(600)) User(2,John,List(500)) User(3,Bob,List(300, 400))
上記のTomの行をscoreの部分を切り落として、ひとつにまとめる方法をお教えください。
###補足情報(言語/FW/ツール等のバージョンなど)
より詳細な情報
Scala 2.11
Play 2.2.6
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/06/05 12:03