다음 단계는 들어 있는 문자열을 숫자로 파싱하고 어떤 이유로든 실패하면 바로 되돌아가는 것이다. HashMap::get 함수는 Option<&String>을 반환하므로 (값이 있는 경우) 문자열에 대한 참조를 얻는다. 이 타입에는 사용할 수 있는 parse 메서드가 있다. 해당 메서드를 호출할 때는 예상되는 타입을 지정해야 한다. 다음 예제를 살펴보자.
코드 4-20 start 매개변수를 usize 타입으로 파싱하기
...
async fn get_questions(
params: HashMap<String, String>,
store: Store,
) -> Result<impl warp::Reply, warp::Rejection> {
if let Some(n) = params.get("start") {
println!("{:?}", n.parse::<usize>());
}
...
}
...