@ -34,10 +34,6 @@ protocol SomeProtocol {
|
|||||||
// 协议内容
|
// 协议内容
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
<<<<<<< HEAD
|
|
||||||
=======
|
|
||||||
|
|
||||||
>>>>>>> 698efafc26795151faeb79f5a98eab5a58d5721e
|
|
||||||
|
|
||||||
在类,结构体,枚举的名称后加上`协议名称`,中间以冒号`:`分隔即可实现协议;实现多个协议时,各协议之间用逗号`,`分隔,如下所示:
|
在类,结构体,枚举的名称后加上`协议名称`,中间以冒号`:`分隔即可实现协议;实现多个协议时,各协议之间用逗号`,`分隔,如下所示:
|
||||||
|
|
||||||
@ -102,17 +98,10 @@ class Starship: FullyNamed {
|
|||||||
init(name: String, prefix: String? = nil ) {
|
init(name: String, prefix: String? = nil ) {
|
||||||
self.anme = name
|
self.anme = name
|
||||||
self.prefix = prefix
|
self.prefix = prefix
|
||||||
<<<<<<< HEAD
|
|
||||||
}
|
}
|
||||||
var fullName: String {
|
var fullName: String {
|
||||||
return (prefix ? prefix ! + " " : " ") + name
|
return (prefix ? prefix ! + " " : " ") + name
|
||||||
}
|
}
|
||||||
=======
|
|
||||||
}
|
|
||||||
var fullName: String {
|
|
||||||
return (prefix ? prefix ! + " " : " ") + name
|
|
||||||
}
|
|
||||||
>>>>>>> 698efafc26795151faeb79f5a98eab5a58d5721e
|
|
||||||
}
|
}
|
||||||
var ncc1701 = Starship(name: "Enterprise", prefix: "USS")
|
var ncc1701 = Starship(name: "Enterprise", prefix: "USS")
|
||||||
// ncc1701.fullName == "USS Enterprise"
|
// ncc1701.fullName == "USS Enterprise"
|
||||||
@ -222,17 +211,10 @@ class Dice {
|
|||||||
init(sides: Int, generator: RandomNumberGenerator) {
|
init(sides: Int, generator: RandomNumberGenerator) {
|
||||||
self.sides = sides
|
self.sides = sides
|
||||||
self.generator = generator
|
self.generator = generator
|
||||||
<<<<<<< HEAD
|
|
||||||
}
|
}
|
||||||
func roll() -> Int {
|
func roll() -> Int {
|
||||||
return Int(generator.random() * Double(sides)) +1
|
return Int(generator.random() * Double(sides)) +1
|
||||||
}
|
}
|
||||||
=======
|
|
||||||
}
|
|
||||||
func roll() -> Int {
|
|
||||||
return Int(generator.random() * Double(sides)) +1
|
|
||||||
}
|
|
||||||
>>>>>>> 698efafc26795151faeb79f5a98eab5a58d5721e
|
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
@ -358,7 +340,7 @@ class DiceGameTracker: DiceGameDelegate {
|
|||||||
`DiceGameTracker`的运行情况,如下所示:
|
`DiceGameTracker`的运行情况,如下所示:
|
||||||
|
|
||||||
```swift
|
```swift
|
||||||
“let tracker = DiceGameTracker()
|
let tracker = DiceGameTracker()
|
||||||
let game = SnakesAndLadders()
|
let game = SnakesAndLadders()
|
||||||
game.delegate = tracker
|
game.delegate = tracker
|
||||||
game.play()
|
game.play()
|
||||||
@ -368,7 +350,7 @@ game.play()
|
|||||||
// Rolled a 5
|
// Rolled a 5
|
||||||
// Rolled a 4
|
// Rolled a 4
|
||||||
// Rolled a 5
|
// Rolled a 5
|
||||||
// The game lasted for 4 turns”
|
// The game lasted for 4 turns
|
||||||
```
|
```
|
||||||
|
|
||||||
<a name="adding_protocol_conformance_with_an_extension"></a>
|
<a name="adding_protocol_conformance_with_an_extension"></a>
|
||||||
@ -734,8 +716,3 @@ for _ in 1...5 {
|
|||||||
// 0
|
// 0
|
||||||
// 0
|
// 0
|
||||||
```
|
```
|
||||||
<<<<<<< HEAD
|
|
||||||
=======
|
|
||||||
|
|
||||||
preview
|
|
||||||
>>>>>>> 698efafc26795151faeb79f5a98eab5a58d5721e
|
|
||||||
|
|||||||
@ -485,9 +485,4 @@ let plusMinusVector = firstVector +- secondVector
|
|||||||
// plusMinusVector 此时的值为 (4.0, -2.0)
|
// plusMinusVector 此时的值为 (4.0, -2.0)
|
||||||
```
|
```
|
||||||
|
|
||||||
<<<<<<< HEAD
|
|
||||||
这个运算符把两个向量的`x`相加,把向量的`y`相减。因为他实际是属于加减运算,所以让它保持了和加法一样的结合性和优先级(`left`和`140`)。查阅完整的Swift默认结合性和优先级的设置,请移步[表达式](../chapter3/04_Expressions.html);
|
这个运算符把两个向量的`x`相加,把向量的`y`相减。因为他实际是属于加减运算,所以让它保持了和加法一样的结合性和优先级(`left`和`140`)。查阅完整的Swift默认结合性和优先级的设置,请移步[表达式](../chapter3/04_Expressions.html);
|
||||||
=======
|
|
||||||
这个运算符把两个向量的`x`相加,把向量的`y`相减。因为他实际是属于加减运算,所以让它保持了和加法一样的结合性和优先级(`left`和`140`)。查阅完整的Swift默认结合性和优先级的设置,请移步[表达式](../chapter3/04_Expressions.html);
|
|
||||||
|
|
||||||
>>>>>>> 698efafc26795151faeb79f5a98eab5a58d5721e
|
|
||||||
|
|||||||
@ -596,10 +596,6 @@ someInstance.dynamicType.printClassName()
|
|||||||
|
|
||||||
关于subscript的声明,请参见: Protocol Subscript Declaration.
|
关于subscript的声明,请参见: Protocol Subscript Declaration.
|
||||||
|
|
||||||
<<<<<<< HEAD
|
|
||||||
|
|
||||||
=======
|
|
||||||
>>>>>>> 698efafc26795151faeb79f5a98eab5a58d5721e
|
|
||||||
> 附属脚本表达式语法
|
> 附属脚本表达式语法
|
||||||
> *附属脚本表达式* → [*后置表达式*](..\chapter3\04_Expressions.html#postfix_expression) **[** [*表达式列表*](..\chapter3\04_Expressions.html#expression_list) **]**
|
> *附属脚本表达式* → [*后置表达式*](..\chapter3\04_Expressions.html#postfix_expression) **[** [*表达式列表*](..\chapter3\04_Expressions.html#expression_list) **]**
|
||||||
|
|
||||||
|
|||||||
@ -770,7 +770,6 @@ type-inheritance-clause是一个只包含协议列表的扩展声明。
|
|||||||
<a name="subscript_declaration"></a>
|
<a name="subscript_declaration"></a>
|
||||||
##下标脚本声明(translated by 林)
|
##下标脚本声明(translated by 林)
|
||||||
|
|
||||||
<<<<<<< HEAD
|
|
||||||
附属脚本用于向特定类型添加附属脚本支持,通常为访问集合,列表和序列的元素时提供语法便利。附属脚本声明使用关键字`subscript`,声明形式如下:
|
附属脚本用于向特定类型添加附属脚本支持,通常为访问集合,列表和序列的元素时提供语法便利。附属脚本声明使用关键字`subscript`,声明形式如下:
|
||||||
|
|
||||||
> subscript (`parameter`) -> (return type){
|
> subscript (`parameter`) -> (return type){
|
||||||
@ -783,18 +782,6 @@ type-inheritance-clause是一个只包含协议列表的扩展声明。
|
|||||||
> }
|
> }
|
||||||
|
|
||||||
附属脚本声明只能在类,结构体,枚举,扩展和协议声明的上下文进行声明。
|
附属脚本声明只能在类,结构体,枚举,扩展和协议声明的上下文进行声明。
|
||||||
=======
|
|
||||||
下标脚本用于向特定类型添加下标脚本支持,通常为访问集合,列表和序列的元素时提供语法便利。下标脚本声明使用关键字`subscript`,声明形式如下:
|
|
||||||
> subscript (`parameter`) -> (return type){
|
|
||||||
get{
|
|
||||||
`statements`
|
|
||||||
}
|
|
||||||
set(`setter name`){
|
|
||||||
`statements`
|
|
||||||
}
|
|
||||||
}
|
|
||||||
下标脚本声明只能在类,结构体,枚举,扩展和协议声明的上下文进行声明。
|
|
||||||
>>>>>>> a516af6a531a104ec88da0d236ecf389a5ec72af
|
|
||||||
|
|
||||||
_变量(parameters)_指定一个或多个用于在相关类型的下标脚本中访问元素的索引(例如,表达式`object[i]`中的`i`)。尽管用于元素访问的索引可以是任意类型的,但是每个变量必须包含一个用于指定每种索引类型的类型标注。_返回类型(return type)_指定被访问的元素的类型。
|
_变量(parameters)_指定一个或多个用于在相关类型的下标脚本中访问元素的索引(例如,表达式`object[i]`中的`i`)。尽管用于元素访问的索引可以是任意类型的,但是每个变量必须包含一个用于指定每种索引类型的类型标注。_返回类型(return type)_指定被访问的元素的类型。
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user