able-script/src/variables.rs

34 lines
555 B
Rust
Raw Normal View History

2021-04-18 16:40:41 -05:00
use rand::Rng;
2021-04-13 18:01:19 -05:00
2021-04-18 16:40:41 -05:00
#[derive(Debug, Clone, PartialEq)]
pub enum Abool {
Never = -1,
Sometimes = 0,
Always = 1,
}
2021-05-02 10:38:12 -05:00
impl From<Abool> for bool {
fn from(val: Abool) -> Self {
match val {
2021-04-18 16:40:41 -05:00
Abool::Never => false,
Abool::Always => true,
Abool::Sometimes => rand::thread_rng().gen(),
}
}
}
2021-05-02 11:12:51 -05:00
#[derive(Debug, Clone, PartialEq)]
2021-04-18 09:39:43 -05:00
pub enum Value {
2021-04-13 18:01:19 -05:00
Str(String),
Int(i32),
Bool(bool),
2021-04-18 16:40:41 -05:00
Abool(Abool),
2021-04-29 11:50:51 -05:00
Nul,
2021-04-13 18:01:19 -05:00
}
#[derive(Debug)]
pub struct Variable {
melo: bool,
value: Value,
2021-04-27 06:48:56 -05:00
}