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)
강의
dropUntil은 takeUntilInclusive에 대응하는
drop 쪽 함수이며, 두 함수는 술어에 맞은 원소를 정반대로 다룹니다.
dropWhile은 술어가 거짓이 되는 원소 바로 앞에서
버리기를 멈추므로 그 원소는 결과에 남습니다. 반면
dropUntil은 술어에 맞은 원소 지점에서 멈추면서 그
원소까지 앞부분과 함께 버립니다. 오직 그 뒤에 오는 원소만 살아남습니다.
구분자 역할을 하는 마커나 센티널을, 그것이 가르는 앞부분과 함께
없애야 할 때 쓰세요. "READY 줄 다음부터 전부, 단
READY 자체는 제외"인 경우입니다.
데모 1 · 기본
dropWhile과 비교해 보세요. 여기서는 술어에 맞은 원소
(3 / 'STOP')가 결과에 나타나지 않습니다:
데모 2 · 비동기
직접 해 보기
연습: 'READY'까지 포함해서 그 앞을 모두 버려 보세요.