元々、phpのプログラマです。
最近、scalaはプログラムの勉強をしていますが
scalaの戻り値の型を指定する場合の質問です。
scala
1 2 def checkAccountPassword(a:String, p:String): Vector[AdminUsersRow] = { 3 val h = AdminUsers.filter(m => (m.account === a && m.password === p)) 4 exec(h.result) 5 } 6 7 def exec[T](action: DBIO[T]): T = { 8 Await.result(db.run(action), 2 seconds) 9 } 10 11 12
上記のコードを実行すると下記のエラーメッセージが表示されます。
error
1type mismatch; 2 found : slick.driver.MySQLDriver.StreamingDriverAction[Seq[lib.Models.Tables.AdminUsers#TableElementType],lib.Models.Tables.AdminUsers#TableElementType,slick.dbio.Effect.Read] 3 (which expands to) slick.profile.FixedSqlStreamingAction[Seq[lib.Models.Tables.AdminUsersRow],lib.Models.Tables.AdminUsersRow,slick.dbio.Effect.Read] 4 required: slick.driver.MySQLDriver.api.DBIO[scala.collection.immutable.Vector[lib.Models.Tables.AdminUsersRow]] 5 (which expands to) slick.dbio.DBIOAction[scala.collection.immutable.Vector[lib.Models.Tables.AdminUsersRow],slick.dbio.NoStream,slick.dbio.Effect.All]
戻り値の方Vector[AdminUsersRow] を指定しなければ処理は通りますが
戻り値の方は指定して書きたいと思っていますがこの場合、同指定すればよろしいでしょうか?
質問内容に至らない点がありましたらすみません。
おっしゃって頂ければと思います。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/10/09 06:20