diff --git a/src/Ch13_Functional_Language_Features_Iterators_and_Closures.md b/src/Ch13_Functional_Language_Features_Iterators_and_Closures.md index 93d7be6..c1b9d71 100644 --- a/src/Ch13_Functional_Language_Features_Iterators_and_Closures.md +++ b/src/Ch13_Functional_Language_Features_Iterators_and_Closures.md @@ -255,7 +255,7 @@ $ cargo run le 在调用闭包之后:[1, 2, 3, 7] ``` -请注意在那个 `borrows_mutably` 的定义与调用之间,不再有一个 `println!`:在 `borrows_mutably` 被定义时,他就捕获了到 `list` 的一个可变引用。在闭包被调用之后,这里没有再度使用那个闭包,因此这个可变借用就结束了。由于当存在着一个可变借用(a mutable borrow)时,不允许有其他的借用,因此在该闭包定义与其调用期间,打印那个 `list` 的不可变借用是不被允许的。请尝试在这里添加一个 `println!`,来看看会得到什么消息! +请注意在 `borrows_mutably` 的定义与调用之间,不再有 `println!`: 在 `borrows_mutably` 被定义时,其就捕获了到 `list` 的可变引用。由于该闭包被调用后,咱们没有再使用那个闭包,因此这个可变借用就结束了。由于当存在着一个可变借用(a mutable borrow)时,不允许有其他的借用,因此在该闭包定义与其调用期间,打印那个 `list` 的不可变借用是不被允许的。请尝试在这里添加一个 `println!`,来看看会得到什么消息! 在即使闭包的函数体并不严格需要所有权,而仍打算强制要求闭包取得他所使用的环境中一些值的所有权时,那么就可以在参数清单前,使用 `move` 关键字。