improve HintEnum::to_string
This commit is contained in:
parent
3774d280bd
commit
dce98d333a
@ -49,7 +49,22 @@ impl ToString for HintEnum<'static> {
|
|||||||
match self {
|
match self {
|
||||||
HintEnum::Single(single_data) => single_data.to_string(),
|
HintEnum::Single(single_data) => single_data.to_string(),
|
||||||
HintEnum::Many(multi_data) => {
|
HintEnum::Many(multi_data) => {
|
||||||
multi_data.iter().map(|a| a.to_string()).collect::<String>()
|
let max_i: i32 = (multi_data.len() as i32) - 1;
|
||||||
|
|
||||||
|
"[".to_owned()
|
||||||
|
+ &multi_data
|
||||||
|
.iter()
|
||||||
|
.enumerate()
|
||||||
|
.map(|(i, x)| {
|
||||||
|
let mut tmp = r#"""#.to_string() + x + r#"""#;
|
||||||
|
// Add comma and space if needed
|
||||||
|
if max_i > i as i32 {
|
||||||
|
tmp += ", ";
|
||||||
|
}
|
||||||
|
tmp
|
||||||
|
})
|
||||||
|
.collect::<Vec<String>>()
|
||||||
|
.concat() + "]"
|
||||||
}
|
}
|
||||||
HintEnum::None => String::new(),
|
HintEnum::None => String::new(),
|
||||||
}
|
}
|
||||||
@ -110,7 +125,7 @@ mod tests {
|
|||||||
fn hint_test() {
|
fn hint_test() {
|
||||||
let values = HashMap::from([
|
let values = HashMap::from([
|
||||||
("", HintEnum::Single("x^2")),
|
("", HintEnum::Single("x^2")),
|
||||||
("si", HintEnum::Many(&["gnum(", "n(", "nh("])),
|
("si", HintEnum::Many(&["n(", "nh(", "gnum("])),
|
||||||
("log", HintEnum::Many(&["2(", "10("])),
|
("log", HintEnum::Many(&["2(", "10("])),
|
||||||
("cos", HintEnum::Many(&["(", "h("])),
|
("cos", HintEnum::Many(&["(", "h("])),
|
||||||
("sin(", HintEnum::Single(")")),
|
("sin(", HintEnum::Single(")")),
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user