0

この場合、誰でも理由を教えてもらえますか:

Query(Users) foreach {case (userId, userName) =>       
    println(userId + ", " + userName) }

Scala は userId を認識しますが、この場合:

val l = List[(Int, String)]()

Query(Users) foreach {
   case (userId, userName) =>
     l::(foo(List[(userId, userName)])) 
}

そうじゃない?(同様に、「=>」の右側の userId は 2 番目のケースでは認識されますが、最初のケースでは認識されません)

ユーザーは、次のような滑らかにマウントされたデータベースです。

object Users extends Table[(Int, String)]("Users") {

  def userId          = column[Int]("UserId", O.PrimaryKey, O.AutoInc)
  def userName        = column[String]("UserName")

  def * = userId ~ userName
}
4

1 に答える 1

1

私はあなたが何を意味すると思います:

l::(foo(List((userId, userName))))

角かっこの間に何かを入れると、リストを入力しようとしていますが、実際にはTupleofuserIduserNameto を List に追加したかったと思います。

やりたいことがすべてその中に入れられ、そのエクストラクタListが必要ない場合は、次のように書くこともできます。Tuple

Query(Users) foreach { tup =>     
  l::(foo(List(tup))) 
}
于 2013-07-12T23:12:55.463 に答える