Rustlings 快速上手:3 条命令跑通全部 Rust 练习题
【免费下载链接】rustlings:crab: Small exercises to get you used to reading and writing Rust code!项目地址: https://gitcode.com/gh_mirrors/ru/rustlings
如果你读官方 Rust 书时对"自己动手试一试"的部分望而却步——不想建项目、写 main、手动 cargo run,rustlings 就是为这个场景做的:一套小型 Rust 练习题,保存即自动编译运行当前练习,把编译错误修好就算过关,你只需要改代码。
最小上手步骤:从安装到第一道练习
- 用 rustup 安装最新版 Rust(Linux 还需
gcc提供链接器;macOS 执行xcode-select --install) cargo install rustlings下载并编译二进制rustlings init在当前目录生成rustlings/练习目录- 进入目录运行
rustlings,进入 watch 模式开始做题
cargo install rustlings rustlings init cd rustlings && rustlings第一道题是variables1,你只需要补一个关键字。官方推荐的环境是 VS Code 加 rust-analyzer 插件;编辑器本身只要支持 rust-analyzer 即可。
改编译错误:TODO 标记 + 保存即自动重跑
exercises/ 下大部分练习是故意写坏、无法编译的代码,你的任务就是找到TODO/todo!()标记把代码改通:
- 编译错误本身就是提示。比如 move_semantics 组只允许你增删
&字符,借用检查器的报错信息会直接指到问题位置 - watch 模式监听
exercises/目录的文件变化(带 200ms 去抖,见 src/watch/notify_event.rs),每次保存都会自动重跑当前练习,不用反复敲 cargo run - 卡住时在终端按
h显示提示;每个主题目录下的 README 也列了配套学习资源
不推荐的做法:还没读完对应章节就靠答案硬怼。每个主题在书里有对应章节(映射表见 exercises/README.md),练习的价值在推理过程,抄答案收益很低。
写断言:单元测试类练习的过关方式
不是所有题都靠编译错误过关。17_tests、11_hashmaps 这类题是"补全测试代码直到测试通过":
- 在
#[cfg(test)]模块里导入被测函数(可以用use super::*;通配导入),然后写assert!验证行为 - 这类题以测试全绿为过关标准,运行同样是自动的,无需手动验证
- solutions/ 目录在你做完一道题之后才会被自动填入参考答案,而且官方说明它只是众多可行解之一——做题过程中别提前翻它
交互列表与断点续做:跳过、回炉、查状态
watch 模式不是一条道走到黑,随时可以:
- 按
l打开交互式练习列表,查看全部 90+ 道练习的通过/待做状态 - 列表内按
c跳转到其他练习(跳过或回炉旧题),按r重置选中练习的状态和文件内容(重置后需在编辑器里重新打开该文件) - 命令行等价物:
rustlings run <name>、rustlings check-all、rustlings reset <name>、rustlings hint <name>,完整子命令见 src/cli.rs
reset 的语义值得记一下:它是针对单题的"重做",不是全局回滚。
版本要求与常见报错对照
| 现象 | 原因 | 处理 |
|---|---|---|
cargo install失败 | Rust 版本过旧 | rustup update后重试,或加--locked |
rustlings: command not found | 用系统包管理器装的 Rust,~/.cargo/bin不在 PATH | 手动加 PATH,或改用 rustup 安装 |
| init 提示缺少 Clippy | 未安装 clippy 组件 | rustup component add clippy |
| 改文件后不自动重跑 | 容器/WSL/虚拟机文件系统不支持文件监听 | 加--manual-run启动,按r手动重跑 |
提示rustlings目录已存在 | 当前目录已 init 过 | cd rustlings后直接运行rustlings |
其他边界情况:
- init 会拒绝在非 workspace 的 Cargo 项目里运行;在 workspace 下运行时会自动把 rustlings 注册为成员
- 当前版本要求较新的 Rust(workspace 清单标注 rust-version 1.88),旧工具链装不了也跑不动
- watch 模式默认会在 VS Code / Zellij 中自动打开当前练习文件,不需要就加
--no-editor
下一步
合理的节奏是读完书里对应章节再刷该主题练习,动手前先翻该主题的 README。全部练习和 quizzes 做完之后,最直接的动作是用刚学的语法建一个小项目——rustlings 是训练场,不是项目框架,别在上面搭业务。
【免费下载链接】rustlings:crab: Small exercises to get you used to reading and writing Rust code!项目地址: https://gitcode.com/gh_mirrors/ru/rustlings
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考