ICFP 2007 Contest: https://web.archive.org/web/20090301164728/https://save-endo.cs.uu.nl/
1#[derive(Copy, Clone, PartialEq, Debug)] 2pub enum Base { 3 I, 4 C, 5 F, 6 P, 7} 8 9impl Base { 10 pub fn from_char(c: char) -> Option<Base> { 11 match c { 12 'I' => Some(Base::I), 13 'C' => Some(Base::C), 14 'F' => Some(Base::F), 15 'P' => Some(Base::P), 16 _ => None, 17 } 18 } 19 20 pub fn to_char(&self) -> char { 21 match self { 22 Base::I => 'I', 23 Base::C => 'C', 24 Base::F => 'F', 25 Base::P => 'P', 26 } 27 } 28}