Skip to content

Commit 578bcf6

Browse files
author
Ye Chen
committed
improvements according to reviews
1 parent 2cbe9ba commit 578bcf6

File tree

1 file changed

+6
-6
lines changed

1 file changed

+6
-6
lines changed

_zh-cn/tour/higher-order-functions.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -14,17 +14,17 @@ next-page: nested-functions
1414
previous-page: mixin-class-composition
1515
---
1616

17-
高阶函数是指使用其他函数作为参数、或者返回一个函数作为结果的函数。在Scala中函数是一等类型值,所以允许定义高阶函数。
17+
高阶函数是指使用其他函数作为参数、或者返回一个函数作为结果的函数。在Scala中函数是“一等公民”,所以允许定义高阶函数。
1818
这里的术语可能有点让人困惑:使用函数作为参数,或者返回值为函数的“函数”和“方法”,我们均称之为“高阶函数”。
1919

20-
一个最简单的例子是Scala中对集合的高阶函数`map`
20+
最常见的一个例子是Scala中容器类(Collections)的高阶函数`map`
2121
```
2222
val salaries = Seq(20000, 70000, 40000)
2323
val doubleSalary = (x: Int) => x * 2
2424
val newSalaries = salaries.map(doubleSalary) // List(40000, 140000, 80000)
2525
```
26-
函数`doubleSalary`有一个整型参数`x`,返回`x * 2`。一般来说,在`=>`左边的元组是函数的参数列表,而在右边的表达式是函数的返回值
27-
在第3行,函数`doubleSalary`被应用在数组`salaries`中的每一个元素。
26+
函数`doubleSalary`有一个整型参数`x`,返回`x * 2`。一般来说,在`=>`左边的元组是函数的参数列表,而右边表达式的值则为函数的返回值
27+
在第3行,函数`doubleSalary`被应用在列表`salaries`中的每一个元素。
2828

2929
为了简化压缩代码,我们可以使用匿名函数,直接作为参数传递给`map`:
3030
```
@@ -53,7 +53,7 @@ case class WeeklyWeatherForecast(temperatures: Seq[Double]) {
5353
(注: `x`是编译器生成的变量名,保证在其作用域是唯一的)。
5454

5555
## 接收函数作为参数的函数
56-
使用高阶函数的一个原因是减少冗余的代码。比如说你想要写一个函数,提高一个人的工资。如果没有高阶函数,代码可能像这样:
56+
使用高阶函数的一个原因是减少冗余的代码。比方说需要写几个方法以通过不同方式来提升员工工资,若不使用高阶函数,代码可能像这样:
5757
```tut
5858
object SalaryRaiser {
5959
@@ -68,7 +68,7 @@ object SalaryRaiser {
6868
}
6969
```
7070

71-
注意这三个方法的差异仅仅是提升的比例不同,为了简化代码,你可以像这样把重复的代码提到一个高阶函数中
71+
注意这三个方法的差异仅仅是提升的比例不同,为了简化代码,其实可以把重复的代码提到一个高阶函数中
7272

7373
```tut
7474
object SalaryRaiser {

0 commit comments

Comments
 (0)