From: Ian Jackson Date: Sat, 29 Oct 2022 19:00:05 +0000 (+0100) Subject: wip X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ian/git?a=commitdiff_plain;h=2a602c681593e736c232909a87e8a37ebbc0be74;p=z3-treefoil wip --- diff --git a/src/bin/vertices.rs b/src/bin/vertices.rs index b814033..a60c8e8 100644 --- a/src/bin/vertices.rs +++ b/src/bin/vertices.rs @@ -1,13 +1,17 @@ -fn main() -> io::Result { +use z3_treefoil::*; + +fn main() -> io::Result<()> { let mut o = io::stdout().lock(); for shape in read_vertices() { for vx in shape { for c in vx { write!(o, "{}", c)?; } - write!(o, ",", c)?; + write!(o, ",")?; } write!(o, "\n")?; } + + Ok(()) } diff --git a/src/lib.rs b/src/lib.rs index 6821d14..07f20b1 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -1,6 +1,7 @@ // pub use std::io; +pub use std::io::Write as _; pub fn default() -> T { Default::default() } @@ -8,16 +9,16 @@ pub const DIM: usize = 3; pub type Coord = i8; pub type Point = [Coord; DIM]; -pub fn read_vertices() -> impl Iterator> { +pub fn read_vertices() -> impl Iterator> { io::stdin().lines().map(|l| { let l = l.unwrap(); - let mut current = default(); + let mut current: Point = default(); l.chars().map(|cx| { let cl = cx.to_ascii_lowercase(); - let d = if cx == cl { -1 } else { +1 }; - let i = cl as i8 - 'x'; + let d = if cx == cl { -1 } else { 1 }; + let i = cl as usize - 'x' as usize; current[i] += d; current }).collect() - } + }) }