From 8cf7e97808081eb3563a3923b50a3e07213feade Mon Sep 17 00:00:00 2001 From: fabolous005 Date: Sun, 19 Nov 2023 17:16:34 +0100 Subject: [PATCH] improve digit parsing --- src/main.rs | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/src/main.rs b/src/main.rs index 78df706..40b5b4a 100644 --- a/src/main.rs +++ b/src/main.rs @@ -22,7 +22,7 @@ fn main() { let input = args[1].to_string(); for char in input.chars() { - println!(); + // println!(); if char.is_ascii_alphabetic() { // println!("matched alphabetic"); if char_before.is_some() { @@ -181,14 +181,24 @@ fn main() { } else if char.is_ascii_digit() { // println!("matched ascii digit"); // println!("{char_before:?}"); - if char_before.is_none() { - if char != '1' { - if let Some(last) = element_line.last_mut() { + // if char_before.is_none() { + if let Some(last) = element_line.last_mut() { + // if last.nr > 1 { + if char_before.is_some() { + if char_before.unwrap().is_ascii_digit() { + let mut number = last.nr.to_string(); + number.push(char); + println!("{number}"); + last.nr = number.parse().unwrap(); + } else { last.nr = char.to_digit(10).unwrap(); } } + // } + // last.nr = char.to_digit(10).unwrap(); } - char_before = None + // } + char_before = Some(char); } if element.is_some() && char.is_ascii_alphabetic() { element_line.push( ElementNr { element: element.unwrap(), nr: 1 });