以调试Rust的方式来学习Rust(2)
以调试Rust的方式来学习Rust
从命令行列出所有练习
命令ruslings提供给你一个list命令用以展示每个示例程序,它的完整路径,以及状态 (默认为 “待定”)。
$ rustlings list
Name Path Status
intro1 exercises/intro/intro1.rs  ending intro2 exercises/intro/intro2.rs  ending variables1 exercises/variables/variables1.rs  ending variables2 exercises/variables/variables2.rs  ending variables3 exercises/variables/variables3.rs  ending [...]
在显示结尾处,你会有一个进度报告用来追踪进度。
Progress: You completed 0 / 84 exercises (0.00 %).
查看示例程序
命令rustlings list向你展示了现有的程序,所以你可以在任何时候查看这些程序的代码,你只需要将完整路径复制到你的终端作为命令cat或者less的参数:
$ cat exercises/intro/intro1.rs
验证你的程序
现在你可以开始调试程序了。你可以使用命令verify来做这件事。注意 Rustlings 选择了列表里的第一个程序(intro1.rs)并尝试去编译它,最后编译成功:
$ rustlings verify
Progress: [-----------------------------------] 0/84
✅ Successfully ran exercises/intro/intro1.rs!
You can keep working on this exercise,
or jump into the next one by removing the `I AM NOT DONE` comment:
6 | // Execute the command `rustlings hint intro1` for a hint.
7 |
8 | // I AM NOT DONE
9 |
正如你从结果中所见,尽管示例代码成功编译了,你依然需要做一些工作。每个示例程序的源文件中都带有以下注释:
$ grep "NOT DONE" exercises/intro/intro1.rs
// I AM NOT DONE
虽然第一个程序的编译没有问题,除非你去掉注释I AM NOT DONE,Rustlings 不会移到下一个程序。
来到下一个练习
一旦你从intro1.rs中去掉这些注释,你就可以通过再一次运行命令rustlings verify来到下一个练习。这一次,你会发现 Rustlings 尝试去编译这个系列中的下一个程序(intro2.rs),但是遇到了一个错误。你应该调试并修复这个问题,并前进。这是你理解为什么 Rust 说程序有漏洞的至关重要的一步。
$ rustlings verify
Progress: [>------------------------] 1/84
⚠️ Compiling of exercises/intro/intro2.rs failed! Please try again. Here's the output:
error: 1 positional argument in format string, but no arguments were given
--> exercises/intro/intro2.rs:8:21
|
8 | println!("Hello {}!");
| ^^
error: aborting due to previous error
来点提示
Rustlings 有一个非常好用的hint参数,这个参数会告诉你示例程序中哪里出错了,以及如何去修复它。你可以认为这是在编译错误信息基础之上,一个额外的帮助选项。
相关阅读
-
前端开发面试题精选及答案解析 前端开发面试题精选及答案详解
全面为您解析前端开发面试题精选及答案解析方面的内容,一定能解决您的问题的,一起来了解吧! 前端开发是一项复杂的工作,涵盖了从HTML、CSS、JavaScript到框架(如React、Vue等)的广泛知识
-
网络存储类型、其优缺点以及使用场景有哪些
为关注IT袋网网的网友们详解网络存储类型、其优缺点以及使用场景有哪些方面的介绍,如有不对的地方欢迎指正! 1. 简介 网络存储是一种通过网络连接的方式,将数据存储在独立的存储设备
-
域名ip查询工具 域名解析ip在线查询
您可能不了解域名ip查询工具和域名解析ip在线查询的教程内容,具体介绍如下: IP域名解析查询是指通过域名查询服务器将域名转换为IP地址的过程。在互联网中,每个设备都有一个唯一的I
-
怎么注册网站个人 免费注册网站的流程
您可能不了解怎么注册网站个人和免费注册网站的流程的相关经验,下面IT袋为您详细介绍 可以按照以下步骤来搭建自己的网站并供他人访问: 1.获取域名和托管服务: 首先,你需要注册一


