.map(||...) 서명은 클로저(||)를 사용하여 환경에서 변수를 가져와 함수(map) 내에서 접근할 수 있게 한다. 코드 2-24에서는 map 함수 내부에 어떤 변수도 사용하지 않는다. 그러나 HTTP GET 요청에 매개변수가 있는 경우에는 클로저로 map 내부에서 매개변수를 가져와 처리할 수 있다. <러스트 프로그래밍 공식 가이드>에서 클로저를 자세히 설명한다(https://doc.rust-lang.org/book/ch13-01-closures.html).
동작하는 웹 서버로 이 장을 마무리하고자 다음 코드를 넣도록 한다. 지금까지 우리의 main 함수는 다음과 같다.
코드 2-25 현 시점의 main 함수
fn main() {
let question = Question::new(
QuestionId::from_str("1").expect("No id provided"),
"First Question".to_string(),
"Content of question".to_string(),
Some(vec!["faq".to_string()]),
);
println!("{:?}", question);
}