구조체예시 처럼 impl로 메소드 같은 것도 달아 줄 수가 있고, match라는 switch/case 같은 걸로 조건문 달아서 처리 할 수도 있다는 것 까지는 이해함. 근데 열거형에 값 부여하는 부분이 이해가 안됨.


예를 들어서,


enum Drink{ Beer(Country) } enum Country{ USA, Japan, China }


코드가 있다고 하자. 여기서 음료의 종류로 맥주가 있고, 이 맥주는 원산지 값을 가지는 걸로 설계를 했다. 그래서 여기서 내가 원하는 결과물은 Country 열거형이 국가명을 문자열로 반환을 해주는 것이고, 이걸 Drink 열거형 변수가 가지고 있는 Country 값에 접근해서 얻어오는 거지.


impl Country{ fn get_name(&self)->Str{ match self{ Country::USA => "USA", Country::Japan => "Japan", _ => "Undefined" } } }

 그래서 이런식으로 이름을 반환하는 인터페이스를 만들어주고, 이제 맥주에서 원산지 값을 받아오는 것 부터 어떻게 해야하는지 모르겠음. 어떻게 해야함?