use rand::Rng; #[derive(Debug, Clone, PartialEq)] pub enum Abool { Never = -1, Sometimes = 0, Always = 1, } impl From for bool { fn from(val: Abool) -> Self { match val { Abool::Never => false, Abool::Always => true, Abool::Sometimes => rand::thread_rng().gen(), } } } #[derive(Debug, Clone, PartialEq)] pub enum Value { Str(String), Int(i32), Bool(bool), Abool(Abool), Nul, } #[derive(Debug)] pub struct Variable { melo: bool, value: Value, }