Function advent_ocr::ocr
source · pub fn ocr<T: Scannable>(image: T) -> Option<String>Expand description
Takes an image containing Advent of Code’s ASCII-art letter representations and converts it to a standard String.
image is a Scannable, which is a marker trait that is implemented for the following
types:
&str(&Vec<bool>, usize), a tuple consisting of a Vec of bools and the width of a line.(&Vec<bool>, usize), a tuple consisting of a Vec of chars and the width of a line.&Vec<Vec<bool>>, a Vec of a Vec of bools.&Vec<Vec<char>>, a Vec of a Vec of chars.
For &str and the char-based Vecs, ‘#’ is considered part of a letter and all other chars
are considered blank space. For the bool-based Vecs, true is considered part of a
letter and false is considered blank space.
§Example
let image = r"
.##..###...##.
#..#.#..#.#..#
#..#.###..#...
####.#..#.#...
#..#.#..#.#..#
#..#.###...##.
";
let s = ocr(image);
assert_eq!(s, "ABC");