ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

Rustlings 快速上手:3 条命令跑通全部 Rust 练习题

Rustlings 快速上手:3 条命令跑通全部 Rust 练习题

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 练习题,保存即自动编译运行当前练习,把编译错误修好就算过关,你只需要改代码。

最小上手步骤:从安装到第一道练习

  1. 用 rustup 安装最新版 Rust(Linux 还需gcc提供链接器;macOS 执行xcode-select --install)
  2. cargo install rustlings下载并编译二进制
  3. rustlings init在当前目录生成rustlings/练习目录
  4. 进入目录运行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),仅供参考

RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进