Rust · iterator

Lazy Iterator Adapter Pipeline

map 같은 어댑터는 새 반복자만 만들고, collect나 sum 같은 소비자가 붙을 때 실제 순회가 시작됩니다.

반복자 지연 실행 단계

lazy

collection

원본 데이터는 아직 그대로 있습니다.

iter()

참조를 순서대로 낼 반복자를 만듭니다.

map()

변환 규칙을 가진 새 반복자를 감쌉니다.

no work yet

소비 전에는 클로저가 호출되지 않습니다.

collect()

소비자가 값을 요구하면 순회와 변환이 일어납니다.

collection iter map adapter consumer execute

정리

Iterator adapter의 성능 감각은 중간 결과를 만드는지보다 언제 실제 순회가 시작되는지를 이해하는 데 있습니다.