Update Ch13

This commit is contained in:
Peng Hailin, 2023-04-29 12:03:54 +08:00
parent 730912d846
commit d6a5575d4d

View File

@ -679,9 +679,9 @@ warning: `iterator_demo` (bin "iterator_demo") generated 1 warning
**Using Closures that Capture Their Environment**
许多迭代器适配器,都会将闭包取作参数,且通常作为参数指定给迭代器适配器的那些闭包,都将是些会捕获他们环境的闭包。
许多迭代器适配器,都会取闭包作参数,且通常咱们指定给迭代器适配器的闭包,都将是捕获其环境的闭包。
这里将使用会取一个闭包的 `filter` 方法,来作为这方面的示例。改闭包会从其所在迭代器获取到一个条目,并返回要给 `bool`。在闭包返回 `true` 时,那个条目值就将被包含在由 `filter` 产生出的迭代中。在该闭包返回 `false` 时,那个条目值则不会被包含。
咱们将使用取闭包的 `filter` 方法,作为这方面的示例。改闭包会从其所在迭代器获取到一个条目,并返回要给 `bool`。在闭包返回 `true` 时,那个条目值就将被包含在由 `filter` 产生出的迭代中。在该闭包返回 `false` 时,那个条目值则不会被包含。
下面清单 13-16 中,使用了有着捕获其环境中 `shoe_size` 变量的一个闭包的 `filter` 方法,来对一个 `Shoe` 结构体实例的集合进行迭代。他将只返回特定尺码的那些鞋子。