[−][src]Crate adhoc_derive
This crate allows you to derive a std::str::FromStr
implementation based on a regex
provided via macro attribute.
ⓘThis code runs with edition 2018
use adhoc_derive::FromStr; #[derive(FromStr)] #[adhoc(regex = r"^#(?P<id>\d+) @ (?P<x>\d+),(?P<y>\d+): (?P<width>\d+)x(?P<height>\d+)$")] struct Rectangle { id: usize, x: usize, y: usize, width: usize, height: usize, } let rect: Rectangle = "#123 @ 3,2: 5x4".parse().unwrap(); assert_eq!(123, rect.id); assert_eq!(3, rect.x); assert_eq!(2, rect.y); assert_eq!(5, rect.width); assert_eq!(4, rect.height);
Refer to GUIDE.md for more examples.
Derive Macros
FromStr |