dropRight

Devuelve un iterable perezoso que omite los últimos length valores.

Iterable<A> dropRight<A>(int length, Iterable<A> iterable) FxAsyncIterable<A> dropRightAsync<A>(int length, FxAsyncIterable<A> iterable) Fx<T> Fx.dropRight(int count) // chain FxAsync<T> FxAsync.dropRight(int count)

Lección

dropRight omite los últimos length valores en lugar de los primeros. Igual que con takeRight, no hay forma de saber qué elementos son los «últimos» sin ver la fuente entera, así que dropRight la materializa en una lista antes de emitir nada. Es la herramienta adecuada cuando tienes, por ejemplo, un lote de tamaño conocido y quieres todo salvo un pie o un centinela final — pero necesita una fuente finita.

dropRightAsync tiene la misma restricción: espera a todo lo que hay aguas arriba antes de poder empezar a producir valores.

Demo 1 · Fundamentos

Demo 2 · Asíncrono (primero hay que almacenar toda la fuente en memoria)

Pruébalo tú

Ejercicio: descarta las 2 últimas líneas del pie.

Relacionado: drop — descarta desde el principio · takeRight — se queda con los últimos n en vez de descartarlos · reverse — también materializa la fuente