From 10888935f4a75c274e45a23dda103b81ca125d77 Mon Sep 17 00:00:00 2001 From: TeCHiScy Date: Sun, 22 Jan 2023 21:48:30 +0800 Subject: [PATCH] Update ch13-01-closures.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 更新原文 commit hash,Rust 代码使用 rust,noplayground 包裹 --- src/ch13-01-closures.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/ch13-01-closures.md b/src/ch13-01-closures.md index 43b25d6..5b443ed 100644 --- a/src/ch13-01-closures.md +++ b/src/ch13-01-closures.md @@ -2,7 +2,7 @@ > [ch13-01-closures.md](https://github.com/rust-lang/book/blob/main/src/ch13-01-closures.md) >
-> commit 8acef6cfd40a36be60a3c62458d9f78e2427e190 +> commit a2cb72d3ad7584cc1ae3b85f715c877872f5e3ab Rust 的 **闭包**(*closures*)是可以保存在一个变量中或作为参数传递给其他函数的匿名函数。可以在一个地方创建闭包,然后在不同的上下文中执行闭包运算。不同于函数,闭包允许捕获被定义时所在作用域中的值。我们将展示闭包的这些功能如何复用代码和自定义行为。 @@ -145,6 +145,7 @@ let add_one_v4 = |x| x + 1 ; 让我们来看示例 13-1 中使用的在 `Option` 上的 `unwrap_or_else` 方法的定义: +```rust,noplayground impl Option { pub fn unwrap_or_else(self, f: F) -> T where @@ -156,6 +157,7 @@ impl Option { } } } +``` 回忆 `T` 是表示 `Option` 中 `Some` 成员中的值的类型的范型。类型 `T` 也是 `unwrap_or_else` 函数的返回值类型:举例来说,在 `Option` 上调用 `unwrap_or_else` 会得到一个 `String`。