[][src]Function math_calc::parse_u8_slice

pub fn parse_u8_slice(input: &[u8]) -> Result<Vec<i32>, ErrorKind>

Parses a given u8 slice into the expected Vec<i32> result.

Examples

Basic valid u8 slice parsing:

use math_calc::{ErrorKind, parse_u8_slice};

fn main() {
    // Says "(90 + 5) / 5". Should result in `19`.
    let my_slice = &[40, 53, 32, 43, 32, 57, 48, 41, 32, 47, 32, 53];

    // Parse `my_slice` into the resulting i32 vector
    let output_vec: Vec<i32> = parse_u8_slice(my_slice).unwrap();

    // Outputs the final i32 vector
    println!("Calculation results (in vector):\n\n{:?}", output_vec);
}

Error handling for an invalid u8 formatting (needs to be valid UTF-8):

use math_calc::{ErrorKind, parse_u8_slice};

fn main() {
    // Invalid due to bad formatting (`255` is not a valid character).
    let bad_formatting = &[255, 255, 255, 255, 255, 255, 255, 255, 255];

    // A test assert to prove threoy
    assert!(parse_u8_slice(bad_formatting).is_err())
}