fix 2.23 advaced operators

This commit is contained in:
stanzhai
2014-06-14 19:56:30 +08:00
parent 9a18a3176e
commit 017f33b666

View File

@ -1,6 +1,5 @@
> 翻译xielingwang
> 校对numbbbbb
> 翻译xielingwang
> 校对numbbbbb
# 高级运算符
-----------------
@ -305,8 +304,7 @@ let y = x &/ 0
查阅Swift运算符的优先级和结合性的完整列表请看[表达式](../chapter3/04_Expressions.html)。
> 注意:
>
> 注意:
Swift的运算符较C语言和Objective-C来得更简单和保守这意味着跟基于C的语言可能不一样。所以在移植已有代码到Swift时注意去确保代码按你想的那样去执行。
<a name="operator_functions"></a>
@ -329,7 +327,6 @@ struct Vector2D {
该运算符函数定义了一个全局的`+`函数,这个函数需要两个`Vector2D`类型的参数,返回值也是`Vector2D`类型。需要定义和实现一个中置运算的时候,在关键字`func`之前写上属性 `@infix` 就可以了。
在这个代码实现中,参数被命名为了`left``right`,代表`+`左边和右边的两个`Vector2D`对象。函数返回了一个新的`Vector2D`的对象,这个对象的`x``y`分别等于两个参数对象的`x``y`的和。
这个函数是全局的,而不是`Vector2D`结构的成员方法,所以任意两个`Vector2D`对象都可以使用这个中置运算符。
@ -406,8 +403,7 @@ let afterIncrement = ++toIncrement
// afterIncrement 现在也是 (4.0, 5.0)
```
>注意:
>
>注意:
默认的赋值符是不可重载的。只有组合赋值符可以重载。三目条件运算符 `abc` 也是不可重载。
### 比较运算符
@ -489,4 +485,4 @@ let plusMinusVector = firstVector +- secondVector
// plusMinusVector 此时的值为 (4.0, -2.0)
```
这个运算符把两个向量的`x`相加,把向量的`y`相减。因为实际是属于加减运算,所以让它保持了和加法一样的结合性和优先级(`left``140`)。查阅完整的Swift默认结合性和优先级的设置请移步[表达式](../chapter3/04_Expressions.html);
这个运算符把两个向量的`x`相加,把向量的`y`相减。因为实际是属于加减运算,所以让它保持了和加法一样的结合性和优先级(`left``140`)。查阅完整的Swift默认结合性和优先级的设置请移步[表达式](../chapter3/04_Expressions.html);