操作符

作者: fordring2008 | 来源:发表于2017-02-03 23:17 被阅读22次

struct Vector2D {

var x =0.0

var y =0.0

}

//重新定义+操作符

func +(left:Vector2D, right:Vector2D)->Vector2D{

return Vector2D(x: left.x+ right.x, y: left.y+ right.y)

}

func *= (left:Vector2D, right:Vector2D)->Double{

return left.x* right.x+ left.y* right.y

}

letv1 =Vector2D(x:1.0, y:2.0)

letv2 =Vector2D(x:3.0, y:4.0)

letd =v1*=v2// 11

//定义一个操作符优先级的代码

/*

precedencegroup定义一个操作费优先级别。操作符优先级别的定义和类型声明有些相似,一个操作符优先级需要属于某个特定的优先级。Swift标准库中已经定义了一些常用的运算优先级组,比如加法优先级AdditionPrecedence和乘法优先级MultipcationPrecedence等。如果没有适合你的运算发优先级组,你就需要向下面代码那样,自己制定结合律方式和优先级顺序

swift符号优先级查询

https://github.com/apple/swift-evolution/blob/master/proposals/0077-operator-precedence.md

*/

/*

associativity定义结合律,即如果多个同类的操作符出现的计算顺序。比如常见的加法和减法都是left,就是说多个加法同事出现时按照从左到右的顺序计算(因为加法满足交换律,所以这个顺序无所谓,但是减法的话计算顺序就很重要了)。点乘的结果是一个Double,不再和其他点乘结合使用,所以这里使用none

*/

/*

higtherThan ,运算的优先级,点积运算是优先于乘法运算的。除了higherThan,也支持使用lowerThan来指定优先级低于某个其他组

*/

/*

infix表示要定义的是一个中位操作符,即前后都是输入;其他的修饰符还包括prefix和postfix、

*/

precedencegroup DotPrecedence {

associativity: none

higherThan: MultiplicationPrecedence

}

infixoperator +* : DotPrecedence

相关文章

  • Rxjava2-二、操作符

    Rxjava记录总结操作符:创建操作符、转换操作符、合并操作符、过滤操作符、其他操作符、条件操作符. 创建操作符 ...

  • Kotlin 笔记(二)集合和函数操作符

    总数操作符 过滤操作符 映射操作符 元素操作符 生产操作符 顺序操作符

  • 走进RxJava源码(三) -- 创建型操作符

    创建型操作符 create操作符 just操作符 fromArray操作符 empty操作符 range 操作符

  • RxJava2操作符

    操作符分类 操作符分类有十三种: 变换操作符 过滤操作符列表 组合操作符 错误处理操作符 辅助操作符 条件操作符 ...

  • js运算符与表达式

    操作符 一元操作符:++,-- 算术操作符:+,-,*,/,% 关系操作符:>,<,>=,<= 相等操作符:==,...

  • 操作符和表达式

    操作符 一元操作符(++,--) 算术操作符(+,-,*,/,%) 关系操作符(>,<,>=,<=,) 相等操作符...

  • Rxjava讲解(2)

    上面文章讲过创建操作符, 转换操作符,过滤操作符, 这篇文字介绍组合操作符,条件操作符,功能操作符。 组合操作符 ...

  • JavaScript高程读书笔记(2)

    五、操作符 算数操作符、位操作符、关系操作符、 相等操作符 一元操作符++和--:注意a+++,- 位操作符按位非...

  • rxjava2 学习笔记

    特点 链式调用 线程切换 操作符 创建操作符 转换操作符 过滤操作符 组合操作符 错误处理操作符 辅助性操作符 条...

  • Combine - Operator(操作符)(二)

    线程 操作符|编码 操作符 |合并 操作符|错误处理 操作符|处理多个订阅者 操作符 线程 操作符 receive...

网友评论

      本文标题:操作符

      本文链接:https://www.haomeiwen.com/subject/xrcjittx.html