From 030547a8aa415e3eef333d19160370dc3aa15d22 Mon Sep 17 00:00:00 2001 From: Hector PENG Date: Sat, 2 May 2026 08:12:17 +0800 Subject: [PATCH] Updated 'src/appendix/releases.md'. --- src/Ch02_Programming_a_Guessing_Game.md | 2 +- src/appendix/releases.md | 29 ++++++++++++------------- src/getting_started/installation.md | 6 ----- 3 files changed, 15 insertions(+), 22 deletions(-) diff --git a/src/Ch02_Programming_a_Guessing_Game.md b/src/Ch02_Programming_a_Guessing_Game.md index 82266df..0595395 100644 --- a/src/Ch02_Programming_a_Guessing_Game.md +++ b/src/Ch02_Programming_a_Guessing_Game.md @@ -1,7 +1,7 @@ # 编写猜数游戏 -咱们来一起完成一个实践项目,开始学习 Rust!这一章通过向咱们展示如何在实际程序中如何运用他们,向咱们介绍一些常见 Rust 概念。咱们将了解 +我们来一起完成一个实践项目,开始学习 Rust!这一章通过向咱们展示如何在实际程序中如何运用他们,向咱们介绍一些常见 Rust 概念。咱们将了解 - `let` - `match` diff --git a/src/appendix/releases.md b/src/appendix/releases.md index 71a3889..94ff001 100644 --- a/src/appendix/releases.md +++ b/src/appendix/releases.md @@ -74,33 +74,32 @@ stable: * Rust 每六周发布一次,就像时刻表一样。当咱们知道某次 Rust 发布的日期,就可以知道下一发布的日期:那就是六周后。每六周安排一次发布的一个好处是,下一班列车很快就会到来。若某项特性碰巧错过了某个特定发布,也无需担心:另一个发布很快就会出现!这有助于减少在发布截止日期邻近时,塞入可能尚未打磨完善的特性所带来的压力。 -得益于这一流程,咱们可以始终检出,check out,下一构建的 Rust,并自己验证到升级是容易的:若 beta 发布没有如预期那样工作,咱们就可以将其报告给 Rust 团队,并在下一稳定发布发生前修好他!beta 发布中的损坏相对较少,但 `rustc` 仍属于一个软件,而确实存在一些错误。 +得益于这一流程,咱们可以岁时检出 Rust 的下一个构建,并请自验证是否可以轻松升级到该构建:当 beta 发布未如预期运行时,咱们可以向 Rust 团队报告而在下一个稳定发布之前修复他!beta 发布中的损坏相对较少,但 `rustc` 终究是个软件,因此确实存在一些 bug。 + + +## 维护周期 + +Rust 项目支持最新的稳定版本。当新稳定版本发布后,旧版本即达到生命周期终止(end of life,EOL)。这意味着每个版本的维护周期为六周。 ## 不稳定特性 -**Unstable Features** +这种发布模型还有一点需要注意:不稳定特性。Rust 使用了一种名为 “特性标志” 的技术,来决定特定发布中启用哪些特性。当某项新特性正处于积极开发中时,他会落地在主分支上,而因此会落地在每日发布中,但位于 *特性标志* 之后。而咱们作为用户,若希望尝试这项正在开发中的特性,the work-in-progress feature,是可以的,但必须使用 Rust 的每日发布,并通过适当的标志注解源代码以选择加入该特性。 + +当咱们使用的是 Rust 的 beta 或稳定发布,则无法使用任何特性标志。这是允许我们(Rust 团队)在宣布新特性永久稳定之前,允许我们获得对新特性的实际使用的关键。希望选择前沿技术的人可以这样做,而希望稳定可靠体验的人则可以坚持使用稳定发布,并知道他们的代码不会破坏。这正是 “稳而不停滞” 的体现。 + +这本书仅包含有关稳定特性的信息,因为正在开发中的特性仍在变化中,并且在编写本书时,与这些特性在稳定发布中启用之际,他们肯定将有所不同。咱们可以在线上找到仅每日发布的信息。 -这种发布模型下,还有一个好处:不稳定特性。Rust 使用了一种名为 “特性标识,feature flags” 的技巧,来确定出给定发布中启用了哪些特性。若某项新特性处于活跃开发中,他就会落地在 `master` 分支上,而由此就会在每日发布中,但会有着一个 *特性标识*。而咱们,作为用户,希望尝试这个进展中的特性,the work-in-progress feature,时,咱们是可以尝试的,但必须使用 Rust 的每日发布,并使用恰当的标识来注解咱们的代码,来选用该特性。 +## `rustup` 和 Rust 每日发布的作用 -若咱们使用着 beta 或稳定发布的 Rust,那么就不能使用任何特性标识。这是 Rust 团队在声明那些新特性永久稳定前,允许咱们实际用到他们的关键。希望选用最新特性的人们,便可这样做,而想要一种扎实体验的人,则可坚持使用稳定发布,而清楚他们的代码不会破坏。这便是稳定但并非止步不前。 - -由于那些工作中的特性仍在便会,且在本书写作时和他们在稳定构建中启用时,其间他们肯定将有所不同,因此本书只包含了那些稳定特性的信息。咱们可以在线上找到那些仅每日发布有的特性文档。 - - -## Rustup 与 Rust 每日发布所扮演的角色 - -**Rustup and the Role of Rust Nightly** - - -Rust 令到易于在全局或每个项目基础上,从不同发布通道的 Rust 之间改变。默认情况下,咱们将安装稳定发布的 Rust。而比如要安装每日发布: +`rustup` 使咱们可以在全局或每个项目的基础上,在 Rust 的不同发布通道之间变换。默认情况下,咱们将安装稳定的 Rust。而比如要安装每日发布: ```console $ rustup toolchain install nightly ``` -咱们也可以使用 `rustup`,查看全部的 *工具链,toolchains* (Rust 的各个发布与关联组件)。下面就是本书一位作者的 Windows 计算机上的示例: +咱们也可以通过`rustup` 查看已安装的所有 *工具链* (Rust 和相关组件的发布)。下面是咱们的一位作者的 Windows 计算机上的示例: ```powershell > rustup toolchain list diff --git a/src/getting_started/installation.md b/src/getting_started/installation.md index 020c61c..0ef6096 100644 --- a/src/getting_started/installation.md +++ b/src/getting_started/installation.md @@ -95,23 +95,17 @@ curl --proto '=https' --tlsv1.2 -sSf https://rsproxy.cn/rustup-init.sh | sh 而要获得构建工具,咱们需要安装 Visual Studio 2022。当被问及要安装哪些工作负载时,要包括下面这些: - - “使用 C++ 进行桌面开发” - - Windows 10 或 11 SDK - - 英语语言包组件,以及咱们所选的任何其他语言包 - 本书的其余部分使用了,可同时在 *cmd.exe* 和 PowerShell 中运行的命令。如果存在某些具体差异,我们将解释要使用哪个。 ### 设置镜像加速 - 以管理员权限启动 Powershell,执行以下命令设置 `RUSTUP_DIST_SERER` 和 `RUSTUP_UPDATE_ROOT` 两个环境变量。 - ```powershell [environment]::SetEnvironmentvariable("RUSTUP_DIST_SERVER", "https://mirrors.ustc.edu.cn/rust-static", "User") [environment]::SetEnvironmentvariable("RUSTUP_UPDATE_ROOT", "https://mirrors.ustc.edu.cn/rust-static/rustup", "User")