테스트가 기대 라인을 고정
`duct`가 들어 있는 한 줄만 반환해야 한다고 먼저 선언한다.
minigrep의 `search`는 입력 텍스트에서 query를 포함한 라인만 빌려 반환하므로, 테스트와 라이프타임이 함께 설계 기준이 된다.
`duct`가 들어 있는 한 줄만 반환해야 한다고 먼저 선언한다.
`'a`는 query가 아니라 contents와 `Vec<&'a str>`를 연결한다.
각 줄을 순회하고 query 포함 여부가 참인 줄만 results에 넣는다.
`frog`, `body`, 없는 단어까지 확인해 검색 결과의 모양을 본다.
assert_eq!(vec!["safe, fast, productive."], search(query,
contents));
for line in contents.lines() { if line.contains(query) {
results.push(line); } }