목차
풀이
// TODO: `Ticket::assigned_to`를 구현하세요.
// 티켓이 in progress라면 지정된 사람의 이름을 반환하고, 아니면 Panic을 일으키세요.
...
#[derive(Debug, PartialEq)]
enum Status {
ToDo,
InProgress { assigned_to: String },
Done,
}
impl Ticket {
...
pub fn assigned_to(&self) -> &str {
match &self.status {
Status::InProgress{assigned_to} => &assigned_to,
_ => panic!("Only `In-Progress` tickets can be assigned to someone"),
}
}
}
match
구문을 이용해서 InProgress
에 해당하는 경우 바인딩하는 패턴을 사용해 assigned_to
를 반환한다.
그렇지 않은 경우(나머지 모든 경우)에는 panic!
을 일으킨다.