dropUntil

술어에 맞을 때까지 값을 건너뛰고 — 맞은 원소까지 함께 버린 뒤 — 나머지를 내보냅니다.

Iterable<A> dropUntil<A>(bool Function(A a) f, Iterable<A> iterable) FxAsyncIterable<A> dropUntilAsync<A>(FutureOr<bool> Function(A a) f, FxAsyncIterable<A> iterable) Fx<T> Fx.dropUntil(bool Function(T a) f) // chain FxAsync<T> FxAsync.dropUntil(FutureOr<bool> Function(T a) f)

강의

dropUntiltakeUntilInclusive에 대응하는 drop 쪽 함수이며, 두 함수는 술어에 맞은 원소를 정반대로 다룹니다. dropWhile은 술어가 거짓이 되는 원소 바로 앞에서 버리기를 멈추므로 그 원소는 결과에 남습니다. 반면 dropUntil은 술어에 맞은 원소 지점에서 멈추면서 그 원소까지 앞부분과 함께 버립니다. 오직 그 뒤에 오는 원소만 살아남습니다.

구분자 역할을 하는 마커나 센티널을, 그것이 가르는 앞부분과 함께 없애야 할 때 쓰세요. "READY 줄 다음부터 전부, 단 READY 자체는 제외"인 경우입니다.

데모 1 · 기본

dropWhile과 비교해 보세요. 여기서는 술어에 맞은 원소 (3 / 'STOP')가 결과에 나타나지 않습니다:

데모 2 · 비동기

직접 해 보기

연습: 'READY'까지 포함해서 그 앞을 모두 버려 보세요.

관련 항목: dropWhile — 술어에 맞은 원소를 남깁니다 · takeUntilInclusive — take 쪽 대응 함수 · drop — 정해진 개수만큼 버립니다