소스 선택
원본을 빌릴지, 가변으로 빌릴지, 소유권을 옮길지 먼저 정합니다.
iter()`iter`, `map`, `filter`는 체인을 준비하고, `sum`, `collect`, `for`가 값을 요구할 때 `next`가 반복 호출됩니다.
원본을 빌릴지, 가변으로 빌릴지, 소유권을 옮길지 먼저 정합니다.
iter()필터링과 변환은 아직 실행되지 않은 계산 계획으로 이어집니다.
map().filter()결과가 필요한 메서드가 호출되면 내부에서 `next`가 전진합니다.
collect()소비한 반복자는 다시 쓸 수 없으므로 필요하면 새 반복자를 만듭니다.
sum()`map`만 호출하고 결과를 버리면 경고가 나고 클로저도 실행되지 않습니다.
unused Map컬렉션의 값을 결과로 옮기려면 `into_iter`가 의도를 더 분명히 보여줍니다.
Vec<T> → T`filter`의 클로저는 `shoe_size` 같은 주변 값을 캡처해 조건으로 사용할 수 있습니다.
|s| s.size == shoe_size