[Chapter #2.5] 잘못된 입력을 다시 받기

이번엔 잘못된 입력을 다시 받기 쪽을 봅니다. 추리 게임을 만들기 시작하면 입력을 받고 결과를 보여 주는 흐름부터 잡게 됩니다. 기능을 한꺼번에 넣으면 어디서 꼬였는지 찾기 힘들어서, 이번에는 실행되는 최소 단위만 남겨 봅니다.

잘못된 입력은 다시 받기

여기서는 결과가 멋지게 보이는 것보다 입력부터 출력까지 한 바퀴 도는지가 더 중요합니다. 막히면 코드를 늘리기 전에 마지막으로 확인된 값을 먼저 봅니다.

let guess = match input.trim().parse::<u32>() {
    Ok(value) => value,
    Err(_) => {
        println!("숫자를 입력하세요.");
        continue;
    }
};

직접 확인할 부분

  • 숫자가 아닌 입력을 넣어 본다
  • 실패한 입력에서 프로그램이 바로 끝나지 않는지 본다
  • continue가 다음 입력으로 흐름을 넘기는지 본다

실패한 입력을 다시 받는 흐름까지 만들었습니다. 다음에는 코드 구조를 조금 정리해 보겠습니다.

이제 게임이 돌아갈 뼈대는 생겼습니다. 다음부터는 입력이 이상할 때 프로그램이 어떻게 반응하는지 보겠습니다.