Improve Ch13

This commit is contained in:
Unisko PENG 2023-04-25 17:36:47 +08:00
parent 6ee991cc26
commit d2153d1281

View File

@ -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` 关键字。