diff --git a/src/ch13-01-closures.md b/src/ch13-01-closures.md index cc47501..bc5e6e0 100644 --- a/src/ch13-01-closures.md +++ b/src/ch13-01-closures.md @@ -134,7 +134,7 @@ let add_one_v4 = |x| x + 1 ; ### 将捕获的值移出闭包和 `Fn` trait -一旦闭包捕获了定义它的环境中的某个值的引用或所有权(也就影响了什么会被移**进**闭包,如有),闭包体中的代码则决定了在稍后执行闭包时,这些引用或值将如何处理(也就影响了什么会被移**出**闭包,如有)。闭包体可以执行以下任一操作:将一个捕获的值移出闭包,修改捕获的值,既不移动也不修改值,或者一开始就不从环境中捕获任何值。 +一旦闭包捕获了定义它的环境中的某个值的引用或所有权(也就影响了什么会被移进闭包,如有),闭包体中的代码则决定了在稍后执行闭包时,这些引用或值将如何处理(也就影响了什么会被移出闭包,如有)。闭包体可以执行以下任一操作:将一个捕获的值移出闭包,修改捕获的值,既不移动也不修改值,或者一开始就不从环境中捕获任何值。 闭包捕获和处理环境中的值的方式会影响闭包实现哪些 trait,而 trait 是函数和结构体指定它们可以使用哪些类型闭包的方式。根据闭包体如何处理这些值,闭包会自动、渐进地实现一个、两个或全部三个 `Fn` trait。