minigrep args

인수 처리 확장 경로

처음에는 벡터에서 두 값을 꺼내 출력하지만, 곧 검증과 실행 책임을 분리해 커맨드 라인 도구다운 구조로 옮겨 갑니다.

collect

Vec<String> 수집

env::args() 반복자를 벡터로 모아 위치 기반 입력을 확인합니다.

bind

두 인수에 이름 붙이기

args[1]query, args[2]file_path로 읽습니다.

validate

부족한 인수 처리

인덱싱 패닉 대신 사용자에게 입력 형식 문제를 알려주는 구조로 바꿉니다.

run

검색 실행으로 전달

검증된 설정을 파일 읽기와 검색 함수로 넘겨 main의 책임을 줄입니다.

현재 main

입력 수집, 인덱싱, 출력 확인을 한 함수 안에서 모두 처리합니다.

설정 생성

검색어와 파일 경로를 하나의 설정 값으로 묶으면 다음 코드가 읽기 쉬워집니다.

에러 위치

입력이 부족한 문제와 파일을 읽지 못한 문제를 서로 다른 단계에서 보고합니다.