update ch13-01 close #482

pull/484/head
KaiserY 4 years ago committed by GitHub
parent 583644b3ce
commit 6245824ab9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -10,9 +10,9 @@ Rust 的 **闭包***closures*)是可以保存进变量或作为参数传递
让我们来看一个存储稍后要执行的闭包的示例。其间我们会讨论闭包的语法、类型推断和 trait。
考虑一下这个假想的情况:我们在一个通过 app 生成自定义健身计划的初创企业工作。其后端使用 Rust 编写而生成健身计划的算法需要考虑很多不同的因素比如用户的年龄、身体质量指数Body Mass Index、用户喜好、最近的健身活动和用户指定的强度系数。本例中实际的算法并不重要重要的是这个计算只花费几秒钟。我们只希望在需要时调用算法并且只希望调用一次这样就不会让用户等得太久。
考虑一下这个假定的场景:我们在一个通过 app 生成自定义健身计划的初创企业工作。其后端使用 Rust 编写而生成健身计划的算法需要考虑很多不同的因素比如用户的年龄、身体质量指数Body Mass Index、用户喜好、最近的健身活动和用户指定的强度系数。本例中实际的算法并不重要重要的是这个计算只花费几秒钟。我们只希望在需要时调用算法并且只希望调用一次这样就不会让用户等得太久。
这里将通过调用 `simulated_expensive_calculation` 函数来模拟调用假的算法,如示例 13-1 所示,它会打印出 `calculating slowly...`,等待两秒,并接着返回传递给它的数字:
这里将通过调用 `simulated_expensive_calculation` 函数来模拟调用假的算法,如示例 13-1 所示,它会打印出 `calculating slowly...`,等待两秒,并接着返回传递给它的数字:
<span class="filename">文件名: src/main.rs</span>
@ -27,7 +27,7 @@ fn simulated_expensive_calculation(intensity: u32) -> u32 {
}
```
<span class="caption">示例 13-1一个用来代替假计算的函数,它大约会执行两秒钟</span>
<span class="caption">示例 13-1一个用来代替假计算的函数,它大约会执行两秒钟</span>
接下来,`main` 函数中将会包含本例的健身 app 中的重要部分。这代表当用户请求健身计划时 app 会调用的代码。因为与 app 前端的交互与闭包的使用并不相关,所以我们将硬编码代表程序输入的值并打印输出。

Loading…
Cancel
Save