Merge pull request #567 from Realank/gh-pages

[校对]"字符串和字符"、"集合类型"等章节校对
This commit is contained in:
numbbbbb
2016-01-15 11:02:41 +08:00
5 changed files with 18 additions and 17 deletions

View File

@ -71,5 +71,6 @@ Swift 2.0 参与者名单(按照章节顺序):
- [ray16897188](https://github.com/ray16897188)
- [wardenNScaiyi](https://github.com/wardenNScaiyi)
- [miaosiqi](https://github.com/miaosiqi)
- [Realank](https://github.com/Realank)
最后,感谢[极客学院](http://wiki.jikexueyuan.com)提供的wiki系统在国内访问起来速度很快优化后的样式看起来也更舒服。

View File

@ -10,7 +10,7 @@
> 2.1
> 翻译:[DianQK](https://github.com/DianQK)
> 校对:[shanks](http://codebuild.me)
> 校对:[shanks](http://codebuild.me), [Realank](https://github.com/Realank)
本页包含内容:
@ -68,7 +68,7 @@ var anotherEmptyString = String() // 初始化方法
// 两个字符串均为空并等价。
```
您可以通过检查其`Boolean`类型的`isEmpty`属性来判断该字符串是否为空:
您可以通过检查其`Bool`类型的`isEmpty`属性来判断该字符串是否为空:
```swift
if emptyString.isEmpty {
@ -269,7 +269,7 @@ let enclosedEAcute: Character = "\u{E9}\u{20DD}"
// enclosedEAcute 是 é⃝
```
局部的指示符号的 Unicode 标量可以组合成一个单一的`Character`值,例如`REGIONAL INDICATOR SYMBOL LETTER U`(`U+1F1FA`)和`REGIONAL INDICATOR SYMBOL LETTER S`(`U+1F1F8`)
地域性指示符号的 Unicode 标量可以组合成一个单一的`Character`值,例如`REGIONAL INDICATOR SYMBOL LETTER U`(`U+1F1FA`)和`REGIONAL INDICATOR SYMBOL LETTER S`(`U+1F1F8`)
```swift
@ -312,7 +312,7 @@ print("the number of characters in \(word) is \(word.characters.count)")
<a name="accessing_and_modifying_a_string"></a>
## 访问和修改字符串 (Accessing and Modifying a String)
你可以通字符串的属性和方法来访问和读取它,当然也可以用下标语法完成。
你可以通字符串的属性和方法来访问和修改它,当然也可以用下标语法完成。
<a name="string_indices"></a>
### 字符串索引 (String Indices)
@ -351,9 +351,9 @@ greeting.endIndex.successor() // error
```swift
for index in greeting.characters.indices {
print("\(greeting[index]) ", terminator: " ")
print("\(greeting[index]) ", terminator: "")
}
// 打印输出 "G u t e n T a g !"
// 打印输出 "G u t e n T a g ! "
```
<a name="inserting_and_removing"></a>
@ -440,7 +440,7 @@ if latinCapitalLetterA != cyrillicCapitalLetterA {
```
> 注意:
> 在 Swift 中,字符串和字符并不区分区域
> 在 Swift 中,字符串和字符并不区分地域(not locale-sensitive)
<a name="prefix_and_suffix_equality"></a>
@ -502,7 +502,7 @@ print("\(mansionCount) mansion scenes; \(cellCount) cell scenes")
<a name="unicode_representations_of_strings"></a>
## 字符串的 Unicode 表示形式Unicode Representations of Strings
当一个 Unicode 字符串被写进文本文件或者其他储存时,字符串中的 Unicode 标量会用 Unicode 定义的几种编码格式编码。每一个字符串中的小块编码都被称代码单元。这些包括 UTF-8 编码格式编码字符串为8位的代码单元 UTF-16 编码格式编码字符串位16位的代码单元以及 UTF-32 编码格式编码字符串32位的代码单元
当一个 Unicode 字符串被写进文本文件或者其他储存时,字符串中的 Unicode 标量会用 Unicode 定义的几种`编码格式`encoding forms编码。每一个字符串中的小块编码都被称`代码单元`code units。这些包括 UTF-8 编码格式编码字符串为8位的代码单元 UTF-16 编码格式编码字符串位16位的代码单元以及 UTF-32 编码格式编码字符串32位的代码单元
Swift 提供了几种不同的方式来访问字符串的 Unicode 表示形式。
您可以利用`for-in`来对字符串进行遍历,从而以 Unicode 可扩展的字符群集的方式访问每一个`Character`值。
@ -514,7 +514,7 @@ Swift 提供了几种不同的方式来访问字符串的 Unicode 表示形式
* UTF-16 代码单元集合 (利用字符串的`utf16`属性进行访问)
* 21位的 Unicode 标量值集合,也就是字符串的 UTF-32 编码格式 (利用字符串的`unicodeScalars`属性进行访问)
下面由`D``o``g``‼`(`DOUBLE EXCLAMATION MARK`, Unicode 标量 `U+203C`)和`<EFBFBD>`(`DOG FACE`Unicode 标量为`U+1F436`)组成的字符串中的每一个字符代表着一种不同的表示:
下面由`D`,`o`,`g`,`‼`(`DOUBLE EXCLAMATION MARK`, Unicode 标量 `U+203C`)和`🐶`(`DOG FACE`Unicode 标量为`U+1F436`)组成的字符串中的每一个字符代表着一种不同的表示:
```swift
let dogString = "Dog‼🐶"
@ -633,7 +633,7 @@ print("")
### Unicode 标量表示 (Unicode Scalars Representation)
您可以通过遍历`String`值的`unicodeScalars`属性来访问它的 Unicode 标量表示。
其为`UnicodeScalarView`类型的属性,`UnicodeScalarView``UnicodeScalar`的集合。
其为`UnicodeScalarView`类型的属性,`UnicodeScalarView``UnicodeScalar`类型的值的集合。
`UnicodeScalar`是21位的 Unicode 代码点。
每一个`UnicodeScalar`拥有一个`value`属性可以返回对应的21位数值`UInt32`来表示:
@ -649,7 +649,7 @@ print("")
<td>🐶<br>U+1F436</td>
</tr>
<tr height="77">
<td height="77">UTF-16<br>Code Unit</td>
<td height="77">Unicode Scalar<br>Code Unit</td>
<td>68</td>
<td>111</td>
<td>103</td>

View File

@ -223,7 +223,7 @@ firstItem = shoppingList[0]
```swift
let apples = shoppingList.removeLast()
// 数组的最后一项被移除了
// shoppingList 现在只有5项不包括 cheese
// shoppingList 现在只有5项不包括 Apples
// apples 常量的值现在等于 "Apples" 字符串
```
@ -460,7 +460,7 @@ oddDigits.exclusiveOr(singleDigitPrimeNumbers).sort()
* 使用`isSubsetOf(_:)`方法来判断一个集合中的值是否也被包含在另外一个集合中。
* 使用`isSupersetOf(_:)`方法来判断一个集合中包含另一个集合中所有的值。
* 使用`isStrictSubsetOf(_:)`或者`isStrictSupersetOf(_:)`方法来判断一个集合是否是另外一个集合的子集合或者父集合并且两个集合并不相等。
* 使用`isDisjointWith(_:)`方法来判断两个集合是否不含有相同的值。
* 使用`isDisjointWith(_:)`方法来判断两个集合是否不含有相同的值(是否没有交集)
```swift
let houseAnimals: Set = ["🐶", "🐱"]

View File

@ -30,7 +30,7 @@ Swift 的`switch`语句比 C 语言中更加强大。在 C 语言中,如果某
<a name="for_loops"></a>
## For 循环
Swift 提供两种`for`循环形式来按照指定的次数多次执行一系列语句:
Swift 提供两种`for`循环形式来按照指定的次数执行一系列语句:
* `for-in`循环对一个集合里面的每个元素执行一系列语句。
* for 循环,用来重复执行一系列语句直到达成特定条件达成,一般通过在每次循环完成后增加计数器的值来实现。

View File

@ -24,7 +24,7 @@
Swift 统一的函数语法足够灵活,可以用来表示任何函数,包括从最简单的没有参数名字的 C 风格函数,到复杂的带局部和外部参数名的 Objective-C 风格函数。参数可以提供默认值,以简化函数调用。参数也可以既当做传入参数,也当做传出参数,也就是说,一旦函数执行结束,传入的参数值可以被修改。
在 Swift 中,每个函数都有一种类型,包括函数的参数值类型和返回值类型。你可以把函数类型当做任何其他普通变量类型一样处理,这样就可以更简单地把函数当做别的函数的参数,也可以从其他函数中返回函数。函数的定义可以写在其他函数定义中,这样可以在嵌套函数范围内实现功能封装。
在 Swift 中,每个函数都有一种类型,包括函数的参数值类型和返回值类型。你可以把函数类型当做任何其他普通变量类型一样处理,这样就可以更简单地把函数当做别的函数的参数,也可以从其他函数中返回函数。函数的定义可以写在其他函数定义中,这样可以在嵌套函数范围内实现功能封装。
<a name="Defining_and_Calling_Functions"></a>
## 函数的定义与调用Defining and Calling Functions
@ -55,7 +55,7 @@ print(sayHello("Brian"))
调用 `sayHello(_:)` 函数时,在圆括号中传给它一个 `String` 类型的实参,例如 `sayHello("Anna")`。因为这个函数返回一个 `String` 类型的值,`sayHello` 可以被包含在 `print(_:separator:terminator:)` 的调用中,用来输出这个函数的返回值,正如上面所示。
`sayHello(_:)` 的函数体中,先定义了一个新的名为 `greeting``String` 常量,同时赋值了给 `personName`一个简单问候消息。然后用 `return` 关键字把这个问候返回出去。一旦 `return greeting` 被调用,该函数结束它的执行并返回 `greeting` 的当前值。
`sayHello(_:)` 的函数体中,先定义了一个新的名为 `greeting``String` 常量,同时,把对 `personName` 的问候消息赋值给了 `greeting` 。然后用 `return` 关键字把这个问候返回出去。一旦 `return greeting` 被调用,该函数结束它的执行并返回 `greeting` 的当前值。
你可以用不同的输入值多次调用 `sayHello(_:)`。上面的例子展示的是用`"Anna"``"Brian"`调用的结果,该函数分别返回了不同的结果。
@ -92,7 +92,7 @@ print(sayHelloWorld())
函数可以有多种输入参数,这些参数被包含在函数的括号之中,以逗号分隔。
这个函数取得一个人的名字和是否被招呼作为输入,并对那个人返回适当问候语:
这个函数一个人名和是否已经打过招呼作为输入,并返回对这个人的适当问候语:
```swift
func sayHello(personName: String, alreadyGreeted: Bool) -> String {