Ein Projekt arbeite ich an hat das folgende Stück Code:Wie kann man vermeiden, dass das Argument "Nicht variables Argument deaktiviert ist, da es durch Löschen gelöscht wird"?
val ftr1: Future[Try[(Date, String)]] = Future {
if (someCondition) {
// some code
val amazonClient = Try[new com.amazonaws.services.s3.AmazonS3Client(...)]
amazonClient.map { c =>
// doing some stuff
(new Date, "SomeString")
}
} else {
// some code
Failure(new Exception)
}
}
Future.firstCompletedOf(Seq(ftr1, anotherFuture)) map {
case t: Try[(Date, String)] => {
t match {
case Success(r) => //do some things
case _ => //do some another things
}
case _ => //do some another things
}
Also, ich habe folgende Warnung beim Kompilieren:
[warnen] non-Variablentyp Argument java.util.Date in Typ Muster java.util.Date, String) ist nicht aktiviert, da sie durch das Löschen eliminiert
und
[warnen] Fall t: (Datum, String) => // einige Dinge tun
Und ich verstehe wirklich nicht, was diese Warnungen bedeuten und wie kann dieser Code, um Refactoring loswerden dieser Warnungen?
http://stackoverflow.com/questions/1094173/how-do-i-get-around-type-Löschung-auf-scala-oder-warum-cant-i-get-the-type-Parameter – fukanchik