0
ile uyumlu Opsiyon paterni ile case Some(x) => x.id
ile eşleşir. Bu, Some
türüne göre değerlendirilmemelidir. Scala Opsiyon kalıbı
case class UserDbEntry(id: Int, username: String)
val users = List()
val lastTableIds = "user.1::paypal.1"
val lastUserId = lastTableIds.split("::")(0).split("\\.")(1)
//This does not compile
val id = users.lastOption match {
case Some(x) => x.id
case None => lastUserId
}
//This compiles
def getLastFetchId(x: Option[UserDbEntry]) = x match {
case Some(user) => user
case None => 1
}
Ama List[UserDbEntry]
bunun açık bir türüyle tanımlanmış List
String
türünde bir üye olmama ile bir hata bekledim.
Tam olarak burada neler oluyor?
; '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' teşekkürler –
Temel olarak her zaman 'type' belirtilmelidir. Bence kod yazmayı pratiği denemeliyiz “val users = List()'. Türlerimizi derleme zamanında almalıyız. –