use the double digit Element instead of two single without Electron number
This commit is contained in:
parent
1e99cbbb85
commit
1b5135606b
@ -1,3 +1,6 @@
|
||||
# isomer
|
||||
|
||||
Calculate isomer for given Elements
|
||||
|
||||
FH will expand to Hafnium.
|
||||
To use F1H1 write like this: F1H1 or F1H
|
||||
|
||||
234
src/main.rs
234
src/main.rs
@ -16,7 +16,7 @@ fn main() {
|
||||
|
||||
let input = args[1].to_string();
|
||||
for char in input.chars() {
|
||||
println!("{:?}", element);
|
||||
println!();
|
||||
if element.is_some() {
|
||||
println!("element is some");
|
||||
element_line.push(element.unwrap());
|
||||
@ -28,111 +28,129 @@ fn main() {
|
||||
let mut short = char_before.unwrap().to_uppercase().next().unwrap().to_string();
|
||||
short.push(char.to_uppercase().next().unwrap());
|
||||
element = match short.as_str() {
|
||||
"AC" => Some(&periodic_table::elements::AC),
|
||||
"AG" => Some(&periodic_table::elements::AG),
|
||||
"AL" => Some(&periodic_table::elements::AL),
|
||||
"AM" => Some(&periodic_table::elements::AM),
|
||||
"AR" => Some(&periodic_table::elements::AR),
|
||||
"AS" => Some(&periodic_table::elements::AS),
|
||||
"AT" => Some(&periodic_table::elements::AT),
|
||||
"AU" => Some(&periodic_table::elements::AU),
|
||||
"BA" => Some(&periodic_table::elements::BA),
|
||||
"BE" => Some(&periodic_table::elements::BE),
|
||||
"BH" => Some(&periodic_table::elements::BH),
|
||||
"BI" => Some(&periodic_table::elements::BI),
|
||||
"BK" => Some(&periodic_table::elements::BK),
|
||||
"BR" => Some(&periodic_table::elements::BR),
|
||||
"CA" => Some(&periodic_table::elements::CA),
|
||||
"CD" => Some(&periodic_table::elements::CD),
|
||||
"CE" => Some(&periodic_table::elements::CE),
|
||||
"CF" => Some(&periodic_table::elements::CF),
|
||||
"CL" => Some(&periodic_table::elements::CL),
|
||||
"CM" => Some(&periodic_table::elements::CM),
|
||||
"CN" => Some(&periodic_table::elements::CN),
|
||||
"CO" => Some(&periodic_table::elements::CO),
|
||||
"CR" => Some(&periodic_table::elements::CR),
|
||||
"CS" => Some(&periodic_table::elements::CS),
|
||||
"CU" => Some(&periodic_table::elements::CU),
|
||||
"DB" => Some(&periodic_table::elements::DB),
|
||||
"DS" => Some(&periodic_table::elements::DS),
|
||||
"DY" => Some(&periodic_table::elements::DY),
|
||||
"ER" => Some(&periodic_table::elements::ER),
|
||||
"ES" => Some(&periodic_table::elements::ES),
|
||||
"EU" => Some(&periodic_table::elements::EU),
|
||||
"FE" => Some(&periodic_table::elements::FE),
|
||||
"FL" => Some(&periodic_table::elements::FL),
|
||||
"FM" => Some(&periodic_table::elements::FM),
|
||||
"FR" => Some(&periodic_table::elements::FR),
|
||||
"GA" => Some(&periodic_table::elements::GA),
|
||||
"GD" => Some(&periodic_table::elements::GD),
|
||||
"GE" => Some(&periodic_table::elements::GE),
|
||||
"HE" => Some(&periodic_table::elements::HE),
|
||||
"HF" => Some(&periodic_table::elements::HF),
|
||||
"HG" => Some(&periodic_table::elements::HG),
|
||||
"HO" => Some(&periodic_table::elements::HO),
|
||||
"HS" => Some(&periodic_table::elements::HS),
|
||||
"IN" => Some(&periodic_table::elements::IN),
|
||||
"IR" => Some(&periodic_table::elements::IR),
|
||||
"KR" => Some(&periodic_table::elements::KR),
|
||||
"LA" => Some(&periodic_table::elements::LA),
|
||||
"LI" => Some(&periodic_table::elements::LI),
|
||||
"LR" => Some(&periodic_table::elements::LR),
|
||||
"LU" => Some(&periodic_table::elements::LU),
|
||||
"LV" => Some(&periodic_table::elements::LV),
|
||||
"MC" => Some(&periodic_table::elements::MC),
|
||||
"MD" => Some(&periodic_table::elements::MD),
|
||||
"MG" => Some(&periodic_table::elements::MG),
|
||||
"MN" => Some(&periodic_table::elements::MN),
|
||||
"MO" => Some(&periodic_table::elements::MO),
|
||||
"MT" => Some(&periodic_table::elements::MT),
|
||||
"NA" => Some(&periodic_table::elements::NA),
|
||||
"NB" => Some(&periodic_table::elements::NB),
|
||||
"ND" => Some(&periodic_table::elements::ND),
|
||||
"NE" => Some(&periodic_table::elements::NE),
|
||||
"NH" => Some(&periodic_table::elements::NH),
|
||||
"NI" => Some(&periodic_table::elements::NI),
|
||||
"NO" => Some(&periodic_table::elements::NO),
|
||||
"NP" => Some(&periodic_table::elements::NP),
|
||||
"OG" => Some(&periodic_table::elements::OG),
|
||||
"OS" => Some(&periodic_table::elements::OS),
|
||||
"PA" => Some(&periodic_table::elements::PA),
|
||||
"PB" => Some(&periodic_table::elements::PB),
|
||||
"PD" => Some(&periodic_table::elements::PD),
|
||||
"PM" => Some(&periodic_table::elements::PM),
|
||||
"PO" => Some(&periodic_table::elements::PO),
|
||||
"PR" => Some(&periodic_table::elements::PR),
|
||||
"PT" => Some(&periodic_table::elements::PT),
|
||||
"PU" => Some(&periodic_table::elements::PU),
|
||||
"RA" => Some(&periodic_table::elements::RA),
|
||||
"RB" => Some(&periodic_table::elements::RB),
|
||||
"RE" => Some(&periodic_table::elements::RE),
|
||||
"RF" => Some(&periodic_table::elements::RF),
|
||||
"RG" => Some(&periodic_table::elements::RG),
|
||||
"RH" => Some(&periodic_table::elements::RH),
|
||||
"RN" => Some(&periodic_table::elements::RN),
|
||||
"RU" => Some(&periodic_table::elements::RU),
|
||||
"SB" => Some(&periodic_table::elements::SB),
|
||||
"SC" => Some(&periodic_table::elements::SC),
|
||||
"SE" => Some(&periodic_table::elements::SE),
|
||||
"SG" => Some(&periodic_table::elements::SG),
|
||||
"SI" => Some(&periodic_table::elements::SI),
|
||||
"SM" => Some(&periodic_table::elements::SM),
|
||||
"SN" => Some(&periodic_table::elements::SN),
|
||||
"SR" => Some(&periodic_table::elements::SR),
|
||||
"TA" => Some(&periodic_table::elements::TA),
|
||||
"TB" => Some(&periodic_table::elements::TB),
|
||||
"TC" => Some(&periodic_table::elements::TC),
|
||||
"TE" => Some(&periodic_table::elements::TE),
|
||||
"TH" => Some(&periodic_table::elements::TH),
|
||||
"TI" => Some(&periodic_table::elements::TI),
|
||||
"TL" => Some(&periodic_table::elements::TL),
|
||||
"TM" => Some(&periodic_table::elements::TM),
|
||||
"TS" => Some(&periodic_table::elements::TS),
|
||||
"XE" => Some(&periodic_table::elements::XE),
|
||||
"YB" => Some(&periodic_table::elements::YB),
|
||||
"ZN" => Some(&periodic_table::elements::ZN),
|
||||
"ZR" => Some(&periodic_table::elements::ZR),
|
||||
_ => panic!("Could not find element")
|
||||
"AC" => { element_line.pop(); Some(&periodic_table::elements::AC) },
|
||||
"AG" => { element_line.pop(); Some(&periodic_table::elements::AG) },
|
||||
"AL" => { element_line.pop(); Some(&periodic_table::elements::AL) },
|
||||
"AM" => { element_line.pop(); Some(&periodic_table::elements::AM) },
|
||||
"AR" => { element_line.pop(); Some(&periodic_table::elements::AR) },
|
||||
"AS" => { element_line.pop(); Some(&periodic_table::elements::AS) },
|
||||
"AT" => { element_line.pop(); Some(&periodic_table::elements::AT) },
|
||||
"AU" => { element_line.pop(); Some(&periodic_table::elements::AU) },
|
||||
"BA" => { element_line.pop(); Some(&periodic_table::elements::BA) },
|
||||
"BE" => { element_line.pop(); Some(&periodic_table::elements::BE) },
|
||||
"BH" => { element_line.pop(); Some(&periodic_table::elements::BH) },
|
||||
"BI" => { element_line.pop(); Some(&periodic_table::elements::BI) },
|
||||
"BK" => { element_line.pop(); Some(&periodic_table::elements::BK) },
|
||||
"BR" => { element_line.pop(); Some(&periodic_table::elements::BR) },
|
||||
"CA" => { element_line.pop(); Some(&periodic_table::elements::CA) },
|
||||
"CD" => { element_line.pop(); Some(&periodic_table::elements::CD) },
|
||||
"CE" => { element_line.pop(); Some(&periodic_table::elements::CE) },
|
||||
"CF" => { element_line.pop(); Some(&periodic_table::elements::CF) },
|
||||
"CL" => { element_line.pop(); Some(&periodic_table::elements::CL) },
|
||||
"CM" => { element_line.pop(); Some(&periodic_table::elements::CM) },
|
||||
"CN" => { element_line.pop(); Some(&periodic_table::elements::CN) },
|
||||
"CO" => { element_line.pop(); Some(&periodic_table::elements::CO) },
|
||||
"CR" => { element_line.pop(); Some(&periodic_table::elements::CR) },
|
||||
"CS" => { element_line.pop(); Some(&periodic_table::elements::CS) },
|
||||
"CU" => { element_line.pop(); Some(&periodic_table::elements::CU) },
|
||||
"DB" => { element_line.pop(); Some(&periodic_table::elements::DB) },
|
||||
"DS" => { element_line.pop(); Some(&periodic_table::elements::DS) },
|
||||
"DY" => { element_line.pop(); Some(&periodic_table::elements::DY) },
|
||||
"ER" => { element_line.pop(); Some(&periodic_table::elements::ER) },
|
||||
"ES" => { element_line.pop(); Some(&periodic_table::elements::ES) },
|
||||
"EU" => { element_line.pop(); Some(&periodic_table::elements::EU) },
|
||||
"FE" => { element_line.pop(); Some(&periodic_table::elements::FE) },
|
||||
"FL" => { element_line.pop(); Some(&periodic_table::elements::FL) },
|
||||
"FM" => { element_line.pop(); Some(&periodic_table::elements::FM) },
|
||||
"FR" => { element_line.pop(); Some(&periodic_table::elements::FR) },
|
||||
"GA" => { element_line.pop(); Some(&periodic_table::elements::GA) },
|
||||
"GD" => { element_line.pop(); Some(&periodic_table::elements::GD) },
|
||||
"GE" => { element_line.pop(); Some(&periodic_table::elements::GE) },
|
||||
"HE" => { element_line.pop(); Some(&periodic_table::elements::HE) },
|
||||
"HF" => { element_line.pop(); Some(&periodic_table::elements::HF) },
|
||||
"HG" => { element_line.pop(); Some(&periodic_table::elements::HG) },
|
||||
"HO" => { element_line.pop(); Some(&periodic_table::elements::HO) },
|
||||
"HS" => { element_line.pop(); Some(&periodic_table::elements::HS) },
|
||||
"IN" => { element_line.pop(); Some(&periodic_table::elements::IN) },
|
||||
"IR" => { element_line.pop(); Some(&periodic_table::elements::IR) },
|
||||
"KR" => { element_line.pop(); Some(&periodic_table::elements::KR) },
|
||||
"LA" => { element_line.pop(); Some(&periodic_table::elements::LA) },
|
||||
"LI" => { element_line.pop(); Some(&periodic_table::elements::LI) },
|
||||
"LR" => { element_line.pop(); Some(&periodic_table::elements::LR) },
|
||||
"LU" => { element_line.pop(); Some(&periodic_table::elements::LU) },
|
||||
"LV" => { element_line.pop(); Some(&periodic_table::elements::LV) },
|
||||
"MC" => { element_line.pop(); Some(&periodic_table::elements::MC) },
|
||||
"MD" => { element_line.pop(); Some(&periodic_table::elements::MD) },
|
||||
"MG" => { element_line.pop(); Some(&periodic_table::elements::MG) },
|
||||
"MN" => { element_line.pop(); Some(&periodic_table::elements::MN) },
|
||||
"MO" => { element_line.pop(); Some(&periodic_table::elements::MO) },
|
||||
"MT" => { element_line.pop(); Some(&periodic_table::elements::MT) },
|
||||
"NA" => { element_line.pop(); Some(&periodic_table::elements::NA) },
|
||||
"NB" => { element_line.pop(); Some(&periodic_table::elements::NB) },
|
||||
"ND" => { element_line.pop(); Some(&periodic_table::elements::ND) },
|
||||
"NE" => { element_line.pop(); Some(&periodic_table::elements::NE) },
|
||||
"NH" => { element_line.pop(); Some(&periodic_table::elements::NH) },
|
||||
"NI" => { element_line.pop(); Some(&periodic_table::elements::NI) },
|
||||
"NO" => { element_line.pop(); Some(&periodic_table::elements::NO) },
|
||||
"NP" => { element_line.pop(); Some(&periodic_table::elements::NP) },
|
||||
"OG" => { element_line.pop(); Some(&periodic_table::elements::OG) },
|
||||
"OS" => { element_line.pop(); Some(&periodic_table::elements::OS) },
|
||||
"PA" => { element_line.pop(); Some(&periodic_table::elements::PA) },
|
||||
"PB" => { element_line.pop(); Some(&periodic_table::elements::PB) },
|
||||
"PD" => { element_line.pop(); Some(&periodic_table::elements::PD) },
|
||||
"PM" => { element_line.pop(); Some(&periodic_table::elements::PM) },
|
||||
"PO" => { element_line.pop(); Some(&periodic_table::elements::PO) },
|
||||
"PR" => { element_line.pop(); Some(&periodic_table::elements::PR) },
|
||||
"PT" => { element_line.pop(); Some(&periodic_table::elements::PT) },
|
||||
"PU" => { element_line.pop(); Some(&periodic_table::elements::PU) },
|
||||
"RA" => { element_line.pop(); Some(&periodic_table::elements::RA) },
|
||||
"RB" => { element_line.pop(); Some(&periodic_table::elements::RB) },
|
||||
"RE" => { element_line.pop(); Some(&periodic_table::elements::RE) },
|
||||
"RF" => { element_line.pop(); Some(&periodic_table::elements::RF) },
|
||||
"RG" => { element_line.pop(); Some(&periodic_table::elements::RG) },
|
||||
"RH" => { element_line.pop(); Some(&periodic_table::elements::RH) },
|
||||
"RN" => { element_line.pop(); Some(&periodic_table::elements::RN) },
|
||||
"RU" => { element_line.pop(); Some(&periodic_table::elements::RU) },
|
||||
"SB" => { element_line.pop(); Some(&periodic_table::elements::SB) },
|
||||
"SC" => { element_line.pop(); Some(&periodic_table::elements::SC) },
|
||||
"SE" => { element_line.pop(); Some(&periodic_table::elements::SE) },
|
||||
"SG" => { element_line.pop(); Some(&periodic_table::elements::SG) },
|
||||
"SI" => { element_line.pop(); Some(&periodic_table::elements::SI) },
|
||||
"SM" => { element_line.pop(); Some(&periodic_table::elements::SM) },
|
||||
"SN" => { element_line.pop(); Some(&periodic_table::elements::SN) },
|
||||
"SR" => { element_line.pop(); Some(&periodic_table::elements::SR) },
|
||||
"TA" => { element_line.pop(); Some(&periodic_table::elements::TA) },
|
||||
"TB" => { element_line.pop(); Some(&periodic_table::elements::TB) },
|
||||
"TC" => { element_line.pop(); Some(&periodic_table::elements::TC) },
|
||||
"TE" => { element_line.pop(); Some(&periodic_table::elements::TE) },
|
||||
"TH" => { element_line.pop(); Some(&periodic_table::elements::TH) },
|
||||
"TI" => { element_line.pop(); Some(&periodic_table::elements::TI) },
|
||||
"TL" => { element_line.pop(); Some(&periodic_table::elements::TL) },
|
||||
"TM" => { element_line.pop(); Some(&periodic_table::elements::TM) },
|
||||
"TS" => { element_line.pop(); Some(&periodic_table::elements::TS) },
|
||||
"XE" => { element_line.pop(); Some(&periodic_table::elements::XE) },
|
||||
"YB" => { element_line.pop(); Some(&periodic_table::elements::YB) },
|
||||
"ZN" => { element_line.pop(); Some(&periodic_table::elements::ZN) },
|
||||
"ZR" => { element_line.pop(); Some(&periodic_table::elements::ZR) },
|
||||
_ => {
|
||||
match char.to_uppercase().next().unwrap() {
|
||||
'B' => Some(&periodic_table::elements::B),
|
||||
'C' => Some(&periodic_table::elements::C),
|
||||
'F' => Some(&periodic_table::elements::F),
|
||||
'H' => Some(&periodic_table::elements::H),
|
||||
'I' => Some(&periodic_table::elements::I),
|
||||
'K' => Some(&periodic_table::elements::K),
|
||||
'N' => Some(&periodic_table::elements::N),
|
||||
'O' => Some(&periodic_table::elements::O),
|
||||
'P' => Some(&periodic_table::elements::P),
|
||||
'S' => Some(&periodic_table::elements::S),
|
||||
'U' => Some(&periodic_table::elements::U),
|
||||
'V' => Some(&periodic_table::elements::V),
|
||||
'W' => Some(&periodic_table::elements::W),
|
||||
'Y' => Some(&periodic_table::elements::Y),
|
||||
_ => None
|
||||
}
|
||||
}
|
||||
};
|
||||
char_before = None;
|
||||
} else {
|
||||
@ -154,9 +172,9 @@ fn main() {
|
||||
'Y' => Some(&periodic_table::elements::Y),
|
||||
_ => None
|
||||
};
|
||||
if element.is_none() {
|
||||
// if element.is_none() {
|
||||
char_before = Some(char);
|
||||
}
|
||||
// }
|
||||
}
|
||||
} else if char.is_ascii_digit() {
|
||||
println!("matched ascii digit");
|
||||
|
||||
Loading…
Reference in New Issue
Block a user