summaryrefslogtreecommitdiff
path: root/src/main.rs
blob: d4e9cace3ae5187e943288d3264b2e2c167d3bb3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35


#[derive(Debug)]
enum BaseNumber {
    Decimal(i64),
    Octal(i64),
    Binary(i64),
    Hexadecimal(i64),
    Nan,
}

impl BaseNumber {
    fn format(&self) -> Result<String, String> {
    match self {
        Self::Binary(value)      => Ok(format!("{:b}", value)),
        Self::Octal(value)       => Ok(format!("{:o}", value)),
        Self::Decimal(value)     => Ok(format!("{}",   value)),
        Self::Hexadecimal(value) => Ok(format!("{:x}", value)),
        Nan => Err("Not a number!".to_string()),
        }
    }
}

#[derive(Debug)]
enum Operator {
    Add,
    Sub,
    Mul,
    Div,
}

fn main() {
    println!("Hello, world!");
    println!("{}", numformat(15, 16).unwrap());
}