次のコードは、4つのタイプの不一致エラーを生成します。なんで?最初と2番目のケースでは、Stringsと簡単に比較しています。false
3番目のケースでは、タイプの変数に割り当てていBoolean
ます。最後のケースでは、スタックトレースを印刷しているだけです。
私は困惑しています。
コード:
//return TRUE if logged in
def isLoggedIn(auth: String): Boolean = {
val jedis = pool.getResource()
var userid = jedis.get("auth:" + auth)
var retVal = false
try {
if(userid != null) { //error here
val userAuth = jedis.get("uid:" + userid + ":auth")
if(userAuth == auth) { // error here
retVal = true // error here
}
}
} catch {
case e => e.printStackTrace() //error here
} finally {
pool.returnResource(jedis)
return retVal
}
}
エラー:
[error] type mismatch;
[error] found : Unit
[error] required: Boolean
[error] retVal = true // error here
[error] ^
[error] type mismatch;
[error] found : Unit
[error] required: Boolean
[error] if(userAuth == auth) { // error here
[error] ^
[error] type mismatch;
[error] found : Unit
[error] required: Boolean
[error] if(userid != null) { //error here
[error] ^
[error] type mismatch;
[error] found : Unit
[error] required: Boolean
[error] case e => e.printStackTrace() //error here
[error] ^
[error] four errors found
Jedis 2.0.0(https://github.com/xetorthio/jedis)を使用してRedisDBとインターフェイスしています。Jedis.get()メソッドはを返しますString
。私はsbt0.10.1とscala2.9.0-1を使用しています。
どうしたの?