為枚舉類型定義方法

和Struct類型一樣,也可以使用impl關鍵字為枚舉類型定義方法。

例如,定義包含星期一到星期日的枚舉類型Week,然後定義一個方法來判斷給定的某一天是否是週末。

#[derive(Copy, Clone)]
enum Week {
  Monday = 1,
  Tuesday,
  Wednesday,
  Thursday,
  Friday,
  Saturday,
  Sunday,
}

impl Week {
  fn is_weekend(&self) -> bool {
    if (*self as u8) > 5 {
      return true;
    }
    false
  }
}

fn main(){
  let d = Week::Thursday;
  println!("{}", d.is_weekend());
}