Ran autoformatter
This commit is contained in:
@@ -1,11 +1,11 @@
|
|||||||
use nom::{
|
use nom::{
|
||||||
IResult,
|
branch::alt,
|
||||||
multi::separated_list1,
|
|
||||||
sequence::{tuple, preceded},
|
|
||||||
character::complete::{self, multispace1},
|
|
||||||
bytes::complete::take,
|
bytes::complete::take,
|
||||||
bytes::streaming::tag,
|
bytes::streaming::tag,
|
||||||
branch::alt, Parser,
|
character::complete::{self, multispace1},
|
||||||
|
multi::separated_list1,
|
||||||
|
sequence::{preceded, tuple},
|
||||||
|
IResult, Parser,
|
||||||
};
|
};
|
||||||
|
|
||||||
#[derive(Debug, PartialEq, PartialOrd, Clone)]
|
#[derive(Debug, PartialEq, PartialOrd, Clone)]
|
||||||
@@ -19,25 +19,21 @@ fn parse_input(input: &str) -> IResult<&str, Vec<(String, u32, Vec<String>)>> {
|
|||||||
let (input, valve_tuples) = separated_list1(
|
let (input, valve_tuples) = separated_list1(
|
||||||
multispace1,
|
multispace1,
|
||||||
tuple((
|
tuple((
|
||||||
preceded(
|
preceded(tag("Valve "), take(2 as usize).map(|s| String::from(s))),
|
||||||
tag("Valve "),
|
preceded(tag(" has flow rate="), complete::u32),
|
||||||
take(2 as usize).map(|s| String::from(s))),
|
|
||||||
preceded(
|
|
||||||
tag(" has flow rate="),
|
|
||||||
complete::u32),
|
|
||||||
alt((
|
alt((
|
||||||
preceded(
|
preceded(
|
||||||
tag("; tunnels lead to valves "),
|
tag("; tunnels lead to valves "),
|
||||||
separated_list1(
|
separated_list1(tag(", "), take(2 as usize).map(|s| String::from(s))),
|
||||||
tag(", "),
|
),
|
||||||
take(2 as usize).map(|s| String::from(s)))),
|
|
||||||
preceded(
|
preceded(
|
||||||
tag("; tunnel leads to valve "),
|
tag("; tunnel leads to valve "),
|
||||||
take(2 as usize).map(|s| vec![String::from(s)])),
|
take(2 as usize).map(|s| vec![String::from(s)]),
|
||||||
|
),
|
||||||
)),
|
)),
|
||||||
))
|
)),
|
||||||
)(input)?;
|
)(input)?;
|
||||||
|
|
||||||
Ok((input, valve_tuples))
|
Ok((input, valve_tuples))
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -54,10 +50,12 @@ fn main() {
|
|||||||
// println!();
|
// println!();
|
||||||
// }
|
// }
|
||||||
|
|
||||||
let valves : Vec<Valve> = valve_tuples
|
let valves: Vec<Valve> = valve_tuples
|
||||||
.into_iter()
|
.into_iter()
|
||||||
.map(|(i, f, t)| Valve {id: i, flow: f, tunnels: t})
|
.map(|(i, f, t)| Valve {
|
||||||
|
id: i,
|
||||||
|
flow: f,
|
||||||
|
tunnels: t,
|
||||||
|
})
|
||||||
.collect();
|
.collect();
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user