더북(TheBook)

그러나 두 가지 주의 사항이 있다. Question 구조체에는 기본으로 Display 트레이트를 구현하지 않는 QuestionId라는 사용자 정의 구조체가 있고, 태그에는 더 복잡한 구조를 가진 벡터가 있다. 벡터와 같은 더 복잡한 구조에는 Display 트레이트를 사용할 수 없으며, 대신 Debug 트레이트를 사용해야 한다. 다음 main.rs 파일에 DisplayDebug 트레이트를 구현했다.

코드 2-16 Question에 Display 트레이트 구현하기

...
impl std::fmt::Display for Question {
    fn fmt(&self, f: &mut std::fmt::Formatter)
        -> Result<(), std::fmt::Error> {
        write!(
            f,
            "{}, title: {}, content: {}, tags: {:?}",
            self.id, self.title, self.content, self.tags
        )
    }
}

impl std::fmt::Display for QuestionId {
    fn fmt(&self, f: &mut std::fmt::Formatter) 
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.