Cas d'utilisation pour les cours d'eau en Scala

En Scala il y a une classe de Flux est très semblable à un itérateur. Le sujet Différence entre Itérateur et Flux en Scala? offre quelques perspectives sur les similitudes et les différences entre les deux.

Voir comment utiliser un flux de données est assez simple, mais je n'ai pas très nombreux commune cas d'utilisation où je voudrais utiliser un flux plutôt que d'autres artefacts.

Les idées que j'ai en ce moment:

  • Si vous avez besoin de faire usage d'une série infinie. Mais cela ne semble pas comme sur un cas d'utilisation pour moi, donc ça ne correspond pas à mes critères. (Merci de me corriger si il est courant et je n'ai qu'une tache aveugle)
  • Si vous avez une série de données, où chaque élément doit être calculée, mais que vous souhaitez réutiliser plusieurs fois. C'est faible, parce que je pouvais juste de le charger dans une liste qui est conceptuellement plus facile à suivre pour un grand sous-ensemble de la population des développeurs.
  • Peut-être il ya un grand ensemble de données ou d'un calcul coûteux de la série et il y a une forte probabilité que les éléments dont vous avez besoin ne nécessitera pas de visiter tous les éléments. Mais dans ce cas, un Itérateur serait un bon match sauf si vous avez besoin de faire plusieurs recherches, dans ce cas, vous pourriez utiliser une liste même si elle serait un peu moins efficace.
  • Il y a une série complexe de données qui doivent être réutilisés. De nouveau, une liste pourrait être utilisé ici. Bien que dans ce cas les deux cas, serait également difficile à utiliser et d'un Flux serait plus adapté car pas tous les éléments doivent être chargés. Mais encore une fois pas commun... ou est-il?

Donc ai-je raté une grosse utilise? Ou est-ce un développeur de préférence, pour la plupart,?

Grâce

InformationsquelleAutor Jesse Eichar | 2010-01-19