Tôi đang cố gắng để kiểm tra xem một số trang web là bằng cách sử dụng các chức năng sau:Scala Liftweb - loại mô hình là không phù hợp với mong đợi loại
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
Chức năng loại getAsString trở lại là net.liftweb.common.Box[String]
Chức năng hoạt động tốt nhưng vấn đề của tôi là khi tôi thay dòng 6 bằng dòng này:
case Failure => false // 6
Tôi gặp lỗi:
error: pattern type is incompatible with expected type;
found : object net.liftweb.common.Failure
required: net.liftweb.common.Box[String]
case Failure => false
(điều tương tự đúng đối với dòng 5)
Tại sao nó xảy ra? Tại sao tôi phải sử dụng biến cho trận đấu và không thể thực hiện trận đấu theo loại chỉ?