diff --git a/Cargo.toml b/Cargo.toml new file mode 100644 index 0000000..16c5ece --- /dev/null +++ b/Cargo.toml @@ -0,0 +1,9 @@ +[package] +name = "isomer" +version = "0.1.0" +edition = "2021" + +# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html + +[dependencies] +periodic_table = "0.5.0" diff --git a/src/main.rs b/src/main.rs new file mode 100644 index 0000000..ab85e6e --- /dev/null +++ b/src/main.rs @@ -0,0 +1,138 @@ +use std::env; +use periodic_table::{periodic_table, Element}; + +fn main() { + let mut args = vec![]; + for argument in env::args() { + args.push(argument); + } + println!("{:?}", args); + + let elements = args[1].to_string().to_uppercase(); + let element = elements.as_str(); + + println!("{element}"); + + let element_info = match element { + "AC" => &periodic_table::elements::AC, + "AG" => &periodic_table::elements::AG, + "AL" => &periodic_table::elements::AL, + "AM" => &periodic_table::elements::AM, + "AR" => &periodic_table::elements::AR, + "AS" => &periodic_table::elements::AS, + "AT" => &periodic_table::elements::AT, + "AU" => &periodic_table::elements::AU, + "B" => &periodic_table::elements::B, + "BA" => &periodic_table::elements::BA, + "BE" => &periodic_table::elements::BE, + "BH" => &periodic_table::elements::BH, + "BI" => &periodic_table::elements::BI, + "BK" => &periodic_table::elements::BK, + "BR" => &periodic_table::elements::BR, + "C" => &periodic_table::elements::C, + "CA" => &periodic_table::elements::CA, + "CD" => &periodic_table::elements::CD, + "CE" => &periodic_table::elements::CE, + "CF" => &periodic_table::elements::CF, + "CL" => &periodic_table::elements::CL, + "CM" => &periodic_table::elements::CM, + "CN" => &periodic_table::elements::CN, + "CO" => &periodic_table::elements::CO, + "CR" => &periodic_table::elements::CR, + "CS" => &periodic_table::elements::CS, + "CU" => &periodic_table::elements::CU, + "DB" => &periodic_table::elements::DB, + "DS" => &periodic_table::elements::DS, + "DY" => &periodic_table::elements::DY, + "ER" => &periodic_table::elements::ER, + "ES" => &periodic_table::elements::ES, + "EU" => &periodic_table::elements::EU, + "F" => &periodic_table::elements::F, + "FE" => &periodic_table::elements::FE, + "FL" => &periodic_table::elements::FL, + "FM" => &periodic_table::elements::FM, + "FR" => &periodic_table::elements::FR, + "GA" => &periodic_table::elements::GA, + "GD" => &periodic_table::elements::GD, + "GE" => &periodic_table::elements::GE, + "H" => &periodic_table::elements::H, + "HE" => &periodic_table::elements::HE, + "HF" => &periodic_table::elements::HF, + "HG" => &periodic_table::elements::HG, + "HO" => &periodic_table::elements::HO, + "HS" => &periodic_table::elements::HS, + "I" => &periodic_table::elements::I, + "IN" => &periodic_table::elements::IN, + "IR" => &periodic_table::elements::IR, + "K" => &periodic_table::elements::K, + "KR" => &periodic_table::elements::KR, + "LA" => &periodic_table::elements::LA, + "LI" => &periodic_table::elements::LI, + "LR" => &periodic_table::elements::LR, + "LU" => &periodic_table::elements::LU, + "LV" => &periodic_table::elements::LV, + "MC" => &periodic_table::elements::MC, + "MD" => &periodic_table::elements::MD, + "MG" => &periodic_table::elements::MG, + "MN" => &periodic_table::elements::MN, + "MO" => &periodic_table::elements::MO, + "MT" => &periodic_table::elements::MT, + "N" => &periodic_table::elements::N, + "NA" => &periodic_table::elements::NA, + "NB" => &periodic_table::elements::NB, + "ND" => &periodic_table::elements::ND, + "NE" => &periodic_table::elements::NE, + "NH" => &periodic_table::elements::NH, + "NI" => &periodic_table::elements::NI, + "NO" => &periodic_table::elements::NO, + "NP" => &periodic_table::elements::NP, + "O" => &periodic_table::elements::O, + "OG" => &periodic_table::elements::OG, + "OS" => &periodic_table::elements::OS, + "P" => &periodic_table::elements::P, + "PA" => &periodic_table::elements::PA, + "PB" => &periodic_table::elements::PB, + "PD" => &periodic_table::elements::PD, + "PM" => &periodic_table::elements::PM, + "PO" => &periodic_table::elements::PO, + "PR" => &periodic_table::elements::PR, + "PT" => &periodic_table::elements::PT, + "PU" => &periodic_table::elements::PU, + "RA" => &periodic_table::elements::RA, + "RB" => &periodic_table::elements::RB, + "RE" => &periodic_table::elements::RE, + "RF" => &periodic_table::elements::RF, + "RG" => &periodic_table::elements::RG, + "RH" => &periodic_table::elements::RH, + "RN" => &periodic_table::elements::RN, + "RU" => &periodic_table::elements::RU, + "S" => &periodic_table::elements::S, + "SB" => &periodic_table::elements::SB, + "SC" => &periodic_table::elements::SC, + "SE" => &periodic_table::elements::SE, + "SG" => &periodic_table::elements::SG, + "SI" => &periodic_table::elements::SI, + "SM" => &periodic_table::elements::SM, + "SN" => &periodic_table::elements::SN, + "SR" => &periodic_table::elements::SR, + "TA" => &periodic_table::elements::TA, + "TB" => &periodic_table::elements::TB, + "TC" => &periodic_table::elements::TC, + "TE" => &periodic_table::elements::TE, + "TH" => &periodic_table::elements::TH, + "TI" => &periodic_table::elements::TI, + "TL" => &periodic_table::elements::TL, + "TM" => &periodic_table::elements::TM, + "TS" => &periodic_table::elements::TS, + "U" => &periodic_table::elements::U, + "V" => &periodic_table::elements::V, + "W" => &periodic_table::elements::W, + "XE" => &periodic_table::elements::XE, + "Y" => &periodic_table::elements::Y, + "YB" => &periodic_table::elements::YB, + "ZN" => &periodic_table::elements::ZN, + "ZR" => &periodic_table::elements::ZR, + _ => { panic!("element not matched") } + }; + println!("{:?}", element_info); +}