staram się sprawdzić, jeśli niektóre strona internetowa jest przy użyciu następujących funkcji:Scala Liftweb - typ wzoru jest niezgodne z oczekiwanym rodzaju
import net.liftweb.common.{Failure, Empty, Full, Box} // 1
// 2
def isAlive = { // 3
httpClient.getAsString("http://www.google.com", Nil) match { // 4
case f : Full[String] => true // 5
case f : Failure => false // 6
case Empty => false // 7
} // 8
} // 9
Funkcja typ zwracany getAsString jest net.liftweb.common.Box[String]
Funkcja działa dobrze, ale moim problemem jest to, że kiedy wymienić linii 6 z tej linii:
case Failure => false // 6
dostaję błąd:
error: pattern type is incompatible with expected type;
found : object net.liftweb.common.Failure
required: net.liftweb.common.Box[String]
case Failure => false
(to samo odnosi się do linii 5)
Dlaczego tak się stało? Dlaczego muszę używać zmiennej do meczu i nie mogę wykonać dopasowania zgodnie z typem?