From 280626c062990e3d528722e924584359a3e515bb Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Fri, 30 Dec 2022 10:36:02 +0800 Subject: [PATCH] RP @yzuowei https://linux.cn/article-15395-1.html --- .../20220729 Learn Rust by debugging Rust.md | 45 +++++++++---------- 1 file changed, 22 insertions(+), 23 deletions(-) rename {translated/tech => published}/20220729 Learn Rust by debugging Rust.md (78%) diff --git a/translated/tech/20220729 Learn Rust by debugging Rust.md b/published/20220729 Learn Rust by debugging Rust.md similarity index 78% rename from translated/tech/20220729 Learn Rust by debugging Rust.md rename to published/20220729 Learn Rust by debugging Rust.md index f725d789dc..3129292941 100644 --- a/translated/tech/20220729 Learn Rust by debugging Rust.md +++ b/published/20220729 Learn Rust by debugging Rust.md @@ -3,29 +3,28 @@ [#]: author: "Gaurav Kamathe https://opensource.com/users/gkamathe" [#]: collector: "lkxed" [#]: translator: "yzuowei" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15395-1.html" -以调试 Rust 来学习 Rust +以调试 Rust 的方式来学习 Rust ====== -Rustlings 是由 Rust 团队维护的开源项目旨在帮助你通过调试代码来学习 Rust。 + +> Rustlings 是由 Rust 团队维护的开源项目,旨在帮助你通过调试代码的方式来学习 Rust。 ![Ferris the crab under the sea, unofficial logo for Rust programming language][1] -图片来源:Opensource.com - -在我上一篇[关于 rustup 的文章][2]中,我向你们展示了如何安装 Rust 工具链。但是,如果不能上手操作一下 Rust 的话下载工具链又有什么用?学习任何语言都包括阅读现有的代码和写很多的示例程序。这是精通一门语言的好方法。然而,我们还可以走第三条路:调试代码。 +在我上一篇 [关于 Rustup 的文章][2] 中,我向你们展示了如何安装 Rust 工具链。但是,如果不能上手操作一下 Rust 的话下载工具链又有什么用?学习任何语言都包括阅读现有的代码和写很多的示例程序,这是精通一门语言的好方法。然而,我们还可以走第三条路:调试代码。 通过调试来学习牵扯到尝试去编译一个已经写好的(满是漏洞的)示例程序,理解编译器生成的错误信息,修复示例代码,然后再重新编译。重复这个过程直到代码能够成功被编译并运行。 -[Rustlings][3] 是一个由 Rust 团队维护的开源项目旨在帮助你通过调试代码来学习 Rust。它也会一路为你提供提示。如果你是一名 Rust 初学者并且刚开始读或已经读完了 Rust 书,那么 rustlings 就是理想的下一步。Rustllings 帮助你将运用书中所学,并转向开发更大的项目。 +[Rustlings][3] 是一个由 Rust 团队维护的开源项目,旨在帮助你通过调试代码来学习 Rust。它也会一路为你提供提示。如果你是一名 Rust 初学者,并且刚开始阅读或已经读完了 Rust 书籍,那么 Rustlings 就是理想的下一步。Rustllings 帮助你将运用书中所学,并转向开发更大的项目。 -### 安装 rustlings +### 安装 Rustlings -我使用(并推荐)Fedora 电脑来体验 rustlings,但是任何 Linux 发行版都可以。要安装 rustlings,你必须下载并运行它的安装脚本。通常建议你以不具备任何特别权限的普通用户(非 root 用户)来运行脚本。 +我使用(并推荐)Fedora 电脑来体验 Rustlings,但是任何 Linux 发行版都可以。要安装 Rustlings,你必须下载并运行它的安装脚本。通常建议你以不具备任何特别权限的普通用户(非 root 用户)来运行脚本。 -记住,你需要 Rust 工具链来使用 rustlings。如果你还没有这些工具链,请参考我[关于 rustup 的文章][4]。 +记住,你需要 Rust 工具链来使用 Rustlings。如果你还没有这些工具链,请参考我 [关于 Rustup 的文章][4]。 当你准备好时,下载这个安装脚本: @@ -51,17 +50,17 @@ Installed package `rustlings v4.8.0 (/home/tux/rustlings)` (executable `rustling All done! ``` -运行 'rustlings' 以开始。 +运行 `rustlings` 以开始。 ### Rustlings 练习 -你现在可以使用命令 `rustlings`。与旗标 `--help` 一起执行来查看可选的选项。 +你现在可以使用命令 `rustlings`。与标志 `--help` 一起执行来查看可选的选项。 ``` $ rustlings --help ``` -这个安装脚本也克隆了 rustlings 的 Git 仓库,并安装了运行示例程序所需的依赖。你可以在 `ruslings` 底下的 exercises 目录查阅这些示例程序。 +这个安装脚本也克隆了 Rustlings 的 Git 仓库,并安装了运行示例程序所需的依赖。你可以在 `ruslings` 下的 `exercises` 目录查阅这些示例程序。 ``` $ cd rustlings @@ -77,7 +76,7 @@ standard_library_types, strings, structs, tests, threads, traits, variables ### 从命令行列出所有练习 -命令 `ruslings` 提供给你一个 `list` 命令用以展示每个示例程序,它的完整路径,以及状态 (默认为 **pending**)。 +命令 `ruslings` 提供给你一个 `list` 命令用以展示每个示例程序,它的完整路径,以及状态 (默认为 “待定”)。 ``` $ rustlings list @@ -106,7 +105,7 @@ $ cat exercises/intro/intro1.rs ### 验证你的程序 -现在你可以开始调试程序了。你可以使用命令 `verify` 来做这件事。注意 rustlings 选择了列表里的第一个程序 (`intro1.rs`) 并尝试去编译它,最后编译成功: +现在你可以开始调试程序了。你可以使用命令 `verify` 来做这件事。注意 Rustlings 选择了列表里的第一个程序(`intro1.rs`)并尝试去编译它,最后编译成功: ``` $ rustlings verify @@ -129,11 +128,11 @@ $ grep "NOT DONE" exercises/intro/intro1.rs // I AM NOT DONE ``` -虽然第一个程序的编译没有问题,除非你去掉注释 `I AM NOT DONE`,rustlings 不会移到下一个程序。 +虽然第一个程序的编译没有问题,除非你去掉注释 `I AM NOT DONE`,Rustlings 不会移到下一个程序。 ### 来到下一个练习 -一旦你从 `intro1.rs` 中去掉这些注释,你就可以通过再一次运行命令 `rustlings verify` 来到下一个练习。这一次,你会发现 rustlings 尝试去编译这个系列中的下一个程序(`intro2.rs`),但是遇到了一个错误。你应该调试并修复这个问题,并前进。这是你理解为什么 Rust 说程序有漏洞的至关重要的一步。 +一旦你从 `intro1.rs` 中去掉这些注释,你就可以通过再一次运行命令 `rustlings verify` 来到下一个练习。这一次,你会发现 Rustlings 尝试去编译这个系列中的下一个程序(`intro2.rs`),但是遇到了一个错误。你应该调试并修复这个问题,并前进。这是你理解为什么 Rust 说程序有漏洞的至关重要的一步。 ``` $ rustlings verify @@ -190,7 +189,7 @@ variables3   exercises/variables/variables3.rs     Pending ### 运行特定的练习 -如果你不想从头开始并且想要跳过一些练习,rustlings 允许你使用命令 `rustlings run` 来专注特定的练习。如此可以运行指定的程序而不需要验证之前的课程。例如: +如果你不想从头开始并且想要跳过一些练习,Rustlings 允许你使用命令 `rustlings run` 来专注特定的练习。如此可以运行指定的程序而不需要验证之前的课程。例如: ``` $ rustlings run intro2 @@ -199,7 +198,7 @@ Hello world! $ rustlings run variables1 ``` -敲入练习名字可能会变得乏味,但 rustlings 为你准备了便利的命令 `next` 用来移向系列中的下一个练习。 +敲入练习名字可能会变得乏味,但 Rustlings 为你准备了便利的命令 `next` 用来移向系列中的下一个练习。 ``` $ rustlings run next @@ -217,7 +216,7 @@ $ rustlings watch Rust 编译器以提供非常有意义的错误信息而被熟知,这些错误信息会帮助你理解在你代码中的问题。这通常意味着更快的调试。Rustlings 是练习 Rust,学会阅读错误信息,并理解 Rust 语言的优秀途径。来看看 [GitHub][7] 上 Rustlings 5.0.0 的最新功能吧。 -**[[ 学习 Rust 编程,来下载我们的 Rust 速查表。 ]][8]** +> **[下载 Rust 速查表][8]** -------------------------------------------------------------------------------- @@ -226,7 +225,7 @@ via: https://opensource.com/article/22/7/learn-rust-rustlings 作者:[Gaurav Kamathe][a] 选题:[lkxed][b] 译者:[yzuowei](https://github.com/yzuowei) -校对:[校对者ID](https://github.com/校对者ID) +校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出