此模板支持所有主要操作系统(macOS,Linux,Windows)。
# example: `cargo scaffold 1`
cargo scaffold <day>
# output:
# Created module "src/bin/01.rs"
# Created empty input file "src/inputs/01.txt"
# Created empty example file "src/examples/01.txt"
# ---
# 🎄 Type `cargo solve 01` to run your solution.
各个解决方案作为单独的二进制文件存在于目录中。
./src/bin/
每个解决方案都有引用其示例文件的单元测试。使用这些单元测试根据示例输入开发和调试解决方案。对于某些难题,放弃示例文件并将输入硬编码到测试中可能更容易。
编辑解决方案时,将在单元测试块上方显示用于运行/调试单元测试的按钮。
rust-analyzer
注意:
此命令需要安装 aoc-cli 板条箱。
# example: `cargo download 1`
cargo download <day>
# output:
# Downloading input with aoc-cli...
# Loaded session cookie from "/home/felix/.adventofcode.session".
# Downloading input for day 1, 2021...
# Saving puzzle input to "/tmp/tmp.MBdcAdL9Iw/input"...
# Done!
# ---
# 🎄 Successfully wrote input to "src/inputs/01.txt"!
要下载前几年的输入,请附加标志。(例如:货物下载 1 --2020 年)
--year/-y
拼图输入不会签入 git。推理。
# example: `cargo solve 01`
cargo solve <day>
# output:
# Running `target/debug/01`
# 🎄 Part 1 🎄
#
# 6 (elapsed: 37.03µs)
#
# 🎄 Part 2 🎄
#
# 9 (elapsed: 33.18µs)
solve是 的别名。要运行优化版本以进行基准测试,请附加标志。
cargo run --bin
--release
显示的计时显示解决方案的原始执行时间,没有开销(例如文件读取)。
cargo all
# output:
# Running `target/release/advent_of_code`
# ----------
# | Day 01 |
# ----------
# 🎄 Part 1 🎄
#
# 0 (elapsed: 170.00µs)
#
# 🎄 Part 2 🎄
#
# 0 (elapsed: 30.00µs)
# <...other days...>
# Total: 0.20ms
all是 的别名。要运行优化版本以进行基准测试,请使用标志。
cargo run
--release
总时序是根据各个解决方案时序计算的,并尽可能多地排除开销。
cargo test
要运行特定日期的测试,请附加 ,例如 。你可以进一步将其范围缩小到特定部分,例如 .
--bin <day>
cargo test --bin 01
cargo test --bin 01 part_one
cargo fmt
cargo clippy
aoc-cli
:。cargo install aoc-cli --version 0.5.0
.adventofcode.session
session
安装后,你可以使用下载命令。
取消注释工作流中的作业,以在 CI 中启用快速检查。
clippy
ci.yml
此模板包含一个 Github 操作,该操作会随着代码进度的出现自动更新自述文件。
要启用它,请完成以下步骤:
转到要跟踪的年份的排行榜页面,然后单击“私有排行榜”。如果你尚未创建排行榜,请单击“创建”创建一个排行榜。你的排行榜应该可以在 下访问。
https://adventofcode.com/{year}/leaderboard/private/view/{aoc_user_id}
转到存储库设置中的密钥选项卡,然后创建以下密钥:
AOC_ENABLED:此变量控制是否启用工作流。将其设置为启用进度跟踪器。
true
AOC_USER_ID:转到此页面并复制你的用户 ID。它是名字选项中符号后面的数字。例:
#
3031
AOC_YEAR:你要跟踪的年份。例:
2021
AOC_SESSION:代码网站出现的活动会话2。若要获取此信息,请在“代码降临”网站上的任意位置按 F12 以打开浏览器开发人员工具。在“应用程序”或“存储”选项卡下查看你的 Cookie,然后复制该 Cookie。
session
schedule
readme-stars.yml
push
可以在 blessred.rs 上找到热门板条箱的精选列表。
你们有针对AOC的板条箱建议吗?分享它们!
debug
release