elementAtOrNull
주어진 인덱스의 원소를 반환하고, 인덱스가 범위를 벗어나면 null을 반환합니다.
강의
elementAtOrNull은 이터러블을 순회하다가 index에
도달하는 즉시 멈추므로, 언제나 index + 1개만 꺼냅니다 —
거대한 지연 시퀀스에서도 저렴하고, 인덱싱 한 번 하자고 전체를
List로 구체화하는 것보다 훨씬 저렴합니다.
elementAtOrNull은 Dart다운 이름이고
(Iterable.elementAtOrNull과 짝을 이룹니다), fxdart는 FxTS식
표기인 nth도 함께 받아들입니다 — 둘은 같은 연산자입니다.
음수 인덱스나 끝을 넘어선 인덱스는 그냥 null을 내놓습니다.
일부 언어의 배열 인덱싱과 달리 여기에는
끝에서부터 되감는 동작이 없습니다 — 인덱스는 유효한 음이 아닌 위치여야 합니다.
동기 체인에서 fx(iterable).elementAtOrNull(index)는
Iterable에서 물려받은 메서드입니다 — 어떤 Fx
체인에서든 그대로 호출하면 됩니다. Fx가 곧
Iterable이기 때문입니다. FxAsyncIterable에는
최상위 elementAtOrNullAsync(index, iterable)을 쓰세요.
데모 1 · 기본
데모 2 · 지연 평가 & 비동기
인덱스 3을 가져올 때 100만 개짜리 범위에서 단 4개만 꺼내 온다는 사실을 peek 카운터로 확인합니다.
직접 해 보기
연습: elementAtOrNull로 은메달리스트(인덱스 1)를 출력하거나, 없으면 'unclaimed'를 출력해 보세요.