Crate stoik

Crate stoik 

Source
Expand description

§Stoik

Stoicimetic utilities written in rust.

To see an example how this is used in the real world, look at the CLI

§Example use

use stoik::formula::Molecule;
use stoik::StoikError;

let formula = "Rh2(SO4)3";
match Molecule::from_formula(formula) {
    Err(e) => match e {
        StoikError::InvalidToken(loc) => {
            println!("{}",
                loc.format_msg(formula, "Malformed formula", "Illegal token")
            )
        }
        StoikError::NumberFirst(loc) => println!("{}",
            loc.format_msg(
                formula,
                "Malformed formula",
                "Compound groups cannot start\nwith numbers",
            )
        ),
        StoikError::UnpairedParenthesis(loc) => {
            println!("{}",
                loc.format_msg(formula, "Malformed formula", "Unpaired parenthesis")
            )
        }
        StoikError::UnpairedBracket(loc) => {
            println!("{}",
                loc.format_msg(formula, "Malformed formula", "Unpaired bracket")
            )
        }
        e => println!("{e}"),
    },
    Ok(mol) => {
        println!("{formula} contains:")
        //...
    }
}

Modules§

formula
This module is the main module for parsing chemical equations

Enums§

StoikError
The error type for this crate