How does it handle multiple potential outcomes? Example:
unformat!("a {} b {} c", "a x b b y c")
Would it returnSome(("x b", "y"))
orSome(("x", "b y"))
?I love the concept! I recently wanted something just like this for a Flutter app I was making to parse a filename into a user defined format i.e.
2024-04-12.txt
with%Y-%M-%D.txt
to{year: 2024, month: 04, day: 12}
I’ll certainty be using this the next time I need anything like that in Rust though.
Off-topic, but I recognise your name. Thank you for the Daily Diary App! I’m a huge fan, I use it every day for my gratitude routine.
Wow, I’ve never had anyone recognise my name for something I’ve made! Thank you so much and I’m glad you’re enjoying it 😁
That’s just brilliant.
That’s really clever. I want to use it even though I haven’t been Rust‘ing lately
What am I missing? Seems like it just puts the parameter in
Some
?You must’ve read that wrong.
The first example, but formatted differently:
let value = "My name is Rho."; let result = unformat!("My {} is {}.", value);
Now,
result
contains:Some(("name", "Rho"))
…because the words “name” and “Rho” in
value
happened to be at the position of the {}-slots in the unformat!()-pattern.Oh yeah! Thanks. It’s been a long day.