Skip to content

Commit b3c8099

Browse files
committed
fix: term resultBuilder
1 parent 151fe8a commit b3c8099

File tree

1 file changed

+25
-25
lines changed

1 file changed

+25
-25
lines changed

swift-6-beta.docc/ReferenceManual/Attributes.md

Lines changed: 25 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1533,24 +1533,24 @@ s.$x.wrapper // WrapperWithProjection value
15331533
### resultBuilder
15341534

15351535
将此特性应用于类、结构体或枚举,
1536-
以将该类型用作结果构建器
1537-
*结果构建器*是一种逐步构建嵌套数据结构的类型。
1538-
您可以使用结果构建器来实现
1536+
以将该类型用作结果构造器
1537+
*结果构造器*是一种逐步构建嵌套数据结构的类型。
1538+
您可以使用结果构造器来实现
15391539
一种用于以自然、声明式方式
15401540
创建嵌套数据结构的领域特定语言(DSL)。
15411541
有关如何使用 resultBuilder 属性的示例,
15421542
<doc:AdvancedOperators#Result-Builders>
15431543

15441544
#### 结果构建方法
15451545

1546-
结果构建器实现了以下描述的静态方法
1547-
由于结果构建器的所有功能都是通过静态方法暴露的
1546+
结果构造器实现了以下描述的静态方法
1547+
由于结果构造器的所有功能都是通过静态方法暴露的
15481548
因此您永远不需要初始化该类型的实例。
1549-
结果构建器必须实现 `buildBlock(_:)` 方法,
1549+
结果构造器必须实现 `buildBlock(_:)` 方法,
15501550
或者同时实现 `buildPartialBlock(first:)`
15511551
`buildPartialBlock(accumulated:next:)` 方法。
15521552
其他方法(这些方法在 DSL 中启用额外功能)是可选的。
1553-
结果构建器类型的声明实际上不必包含任何协议一致性
1553+
结果构造器类型的声明实际上不必包含任何协议一致性
15541554

15551555
The description of the static methods uses three types as placeholders.
15561556
The type `Expression` is a placeholder
@@ -1567,7 +1567,7 @@ they default to being the same as `Component`.
15671567
`Expression` 是构建器输入类型的占位符,
15681568
`Component` 是部分结果类型的占位符,
15691569
`FinalResult` 是构建器生成的结果类型的占位符。
1570-
你需要用结果构建器实际使用的类型替换这些占位符
1570+
你需要用结果构造器实际使用的类型替换这些占位符
15711571
如果你的结果构建方法没有为 `Expression`
15721572
`FinalResult` 指定类型,
15731573
那么它们默认与 `Component` 类型相同。
@@ -1591,7 +1591,7 @@ they default to being the same as `Component`.
15911591
`buildBlock(_:)` 相比,
15921592
这种方法减少了处理不同数量参数的泛型重载的需求。
15931593

1594-
结果构建器可以实现上述列出的所有三种块构建方法
1594+
结果构造器可以实现上述列出的所有三种块构建方法
15951595
在这种情况下,可用性决定调用哪个方法。
15961596
默认情况下,Swift 调用 `buildPartialBlock(first:)`
15971597
`buildPartialBlock(accumulated:next:)` 方法。
@@ -1630,15 +1630,15 @@ they default to being the same as `Component`.
16301630
- `static func buildFinalResult(_ component: Component) -> FinalResult`:
16311631
从部分结果构建最终结果。
16321632
您可以将此方法实现为使用不同类型的部分
1633-
和最终结果的结果构建器的一部分
1633+
和最终结果的结果构造器的一部分
16341634
或者在返回结果之前对结果进行其他后处理。
16351635

16361636
- `static func buildLimitedAvailability(_ component: Component) -> Component`:
16371637
构建一个擦除类型信息的部分结果。
16381638
您可以实现此方法,
16391639
以防止类型信息在执行可用性检查的编译器控制语句之外传播。
16401640

1641-
例如,下面的代码定义了一个简单的结果构建器
1641+
例如,下面的代码定义了一个简单的结果构造器
16421642
用于构建一个整数数组。
16431643
此代码将 `Component``Expression` 定义为类型别名,
16441644
以便更容易将下面的示例与上面的函数列表进行匹配。
@@ -1707,10 +1707,10 @@ struct ArrayBuilder {
17071707
#### 结果转换
17081708

17091709
以下语法转换递归地应用于
1710-
将使用结果构建器语法的代码
1711-
转换为调用结果构建器类型的静态方法的代码
1710+
将使用结果构造器语法的代码
1711+
转换为调用结果构造器类型的静态方法的代码
17121712

1713-
- 如果结果构建器有一个 `buildExpression(_:)` 方法,
1713+
- 如果结果构造器有一个 `buildExpression(_:)` 方法,
17141714
则每个表达式都变成对该方法的调用。
17151715
这个转换总是首先进行。
17161716
例如,以下声明是等价的:
@@ -1959,7 +1959,7 @@ struct ArrayBuilder {
19591959
>> assert(builderOptional == manualOptional)
19601960
```
19611961
-->
1962-
- 如果结果构建器实现了 `buildPartialBlock(first:)`
1962+
- 如果结果构造器实现了 `buildPartialBlock(first:)`
19631963
`buildPartialBlock(accumulated:next:)` 方法,
19641964
则代码块或 `do` 语句将变成对这些方法的调用。
19651965
块内的第一条语句被转换为 `buildPartialBlock(first:)` 方法的一个参数,
@@ -2116,7 +2116,7 @@ struct ArrayBuilder {
21162116
>> assert(builderArray == manualArray)
21172117
```
21182118
-->
2119-
- 如果结果构建器有一个 `buildFinalResult(_:)` 方法,
2119+
- 如果结果构造器有一个 `buildFinalResult(_:)` 方法,
21202120
则最终结果变为对该方法的调用。
21212121
此转换始终是最后进行的
21222122

@@ -2228,10 +2228,10 @@ struct ArrayBuilder {
22282228
-->
22292229

22302230
尽管转换行为是通过临时变量来描述的,
2231-
但使用结果构建器实际上并不会
2231+
但使用结果构造器实际上并不会
22322232
创建任何在代码其他部分可见的新声明。
22332233

2234-
您不能在结果构建器转换的代码中
2234+
您不能在结果构造器转换的代码中
22352235
使用 `break``continue``defer``guard`
22362236
`return` 语句、`while` 语句或 `do-catch` 语句。
22372237

@@ -2269,19 +2269,19 @@ struct ArrayBuilder {
22692269
```
22702270
-->
22712271

2272-
#### 自定义结果构建器特性
2272+
#### 自定义结果构造器特性
22732273

2274-
创建结果构建器类型会创建一个同名的自定义特性。您可以在以下位置应用该特性:
2274+
创建结果构造器类型会创建一个同名的自定义特性。您可以在以下位置应用该特性:
22752275

22762276
- 在函数声明中,
2277-
结果构建器构建函数的主体
2277+
结果构造器构建函数的主体
22782278
- 在包含 getter 的变量或下标声明中,
2279-
结果构建器构建 getter 的主体
2279+
结果构造器构建 getter 的主体
22802280
- 在函数声明中的一个参数上,
2281-
结果构建器构建一个作为相应参数传递的闭包的主体
2281+
结果构造器构建一个作为相应参数传递的闭包的主体
22822282

2283-
应用结果构建器特性不会影响 ABI 兼容性。
2284-
将结果构建器特性应用于参数使该特性成为函数接口的一部分
2283+
应用结果构造器特性不会影响 ABI 兼容性。
2284+
将结果构造器特性应用于参数使该特性成为函数接口的一部分
22852285
这可能会影响源兼容性。
22862286

22872287
### requires_stored_property_inits

0 commit comments

Comments
 (0)