Selon scala docs stream implémente des listes paresseuses où les éléments ne sont évalués que lorsqu'ils sont nécessaires. Exemple;Scala comment obtenir la dernière valeur calculée du flux?
val fibs: Stream[BigInt] = BigInt(0) #:: BigInt(1) #:: fibs.zip(fibs.tail).map(n => {
n._1 + n._2
})
Après cela dans scala repl;
fibs(4)
fibs
Il s'imprimera;
RES1: flux [BigInt] = flux (? 0, 1, 1, 2, 3,)
Depuis l'appel .length ou .last causes boucle infinie, comment puis-je obtenir la valeur " 3 "(dernière valeur calculée) de la manière la plus efficace?