takeLast
Devuelve un iterable perezoso con los últimos length valores de una fuente.
Lección
takeLast es la imagen especular de take: en lugar
de los primeros length valores, obtienes los últimos. Pero hay
una pega: para saber cuáles son los «últimos», takeLast tiene que
ver antes todos los elementos. Internamente materializa la
fuente entera en una lista antes de emitir nada, así que, a diferencia de la
mayoría de operadores de FxDart, no funciona sobre secuencias infinitas.
takeLast es el nombre idiomático en Dart; fxdart también
acepta takeRight, la grafía de FxTS: son el mismo operador.
La versión asíncrona tiene la misma restricción: takeLastAsync
vacía todo lo que hay aguas arriba (esperando cada elemento) antes de poder
devolver la cola. Úsalo solo cuando sepas que la fuente es finita y lo
bastante pequeña como para almacenarla en memoria.
Demo 1 · Fundamentos
Demo 2 · Asíncrono (primero hay que almacenar toda la fuente en memoria)
Pruébalo tú
Ejercicio: quédate solo con las últimas 3 puntuaciones.