Voici le code que je suis en train de comprendre:zip Scala- à terme
object Tryouts extends App{
val studentIds= Future{
List("s1","s2","s3")
}
val details = studentIds zip(Future{List("Tim","Joe","Fin")}).map(x=>x.tail)
details.foreach(println)
Thread.sleep(1000)
}
Le problème:
val details = studentIds zip(Future{List("Tim","Joe","Fin")}).map(x=>x.tail)
ici si vous remarquez, je ne suis pas en utilisant un "" avant zip et juste donner un espace. Je suppose que . et l'espace fonctionne de la même manière et a également validé certaines questions de débordement de pile. l'expression ci-dessus avant d'appliquer une carte me donnera un Future [(List [String], List [String])]. alors quand je dis
.map(x=x.tail) should show compilation error in IDE because tail operation can be applied only on list and not for tuple. But it is actually executing successfully.
The same statement when executed with "." before zip function like this:
val details = studentIds.zip(Future{List("Tim","Joe","Fin")}).map(x=>x.tail) the map(x=>x.tail) gives error.
quelle pourrait être la raison?
Ce que vous devez omettre (et faire dans votre dernière ligne) n'est pas parenthèses autour de 'Future', c'est le point avant' map'. Sinon, vous devrez également les omettre dans 'map _.tail'. –