3个不稳定版本
0.2.1 | 2023年7月15日 |
---|---|
0.2.0 | 2023年7月15日 |
0.1.0 | 2023年6月20日 |
#29 in #aoc
35KB
411 代码行
aoclib
使用aocli运行 Advent of Code 解决方案和解析 Advent of Code 输入的库。
示例
use aoc::Parse;
let line_1 = "first: 85, then: +192, finally: -64";
let line_2 = "first: -157, then: 4, finally: 1000";
fn parse_line(line: &str) -> [i32; 3] {
let mut parser = line.as_parser();
[
parser.between("first: ", ", "),
parser.between("then: ", ", "),
parser.after("finally: "),
]
.map(Parse::parse_uw)
}
assert_eq!(line_1.ints::<3, i32>(), [85, 192, -64]);
assert_eq!(parse_line(line_1), [85, 192, -64]);
assert_eq!(line_2.ints::<3, i32>(), [-157, 4, 1000]);
assert_eq!(parse_line(line_2), [-157, 4, 1000]);
lib.rs
:
使用aocli运行 Advent of Code 解决方案和解析 Advent of Code 输入的库。
示例
use aoc::Parse;
let line_1 = "first: 85, then: +192, finally: -64";
let line_2 = "first: -157, then: 4, finally: 1000";
fn parse_line(line: &str) -> [i32; 3] {
let mut parser = line.as_parser();
[
parser.between("first: ", ", "),
parser.between("then: ", ", "),
parser.after("finally: "),
]
.map(Parse::parse_uw)
}
assert_eq!(line_1.ints::<3, i32>(), [85, 192, -64]);
assert_eq!(parse_line(line_1), [85, 192, -64]);
assert_eq!(line_2.ints::<3, i32>(), [-157, 4, 1000]);
assert_eq!(parse_line(line_2), [-157, 4, 1000]);