美文网首页
Currying Operator

Currying Operator

作者: ShawnDu | 来源:发表于2016-01-22 11:21 被阅读16次

柯里化

func add(num1: Int)(num2: Int) -> Int {
    return num1 + num2
}

let addThree = add(3)
let result = addThree(num2: 8)

操作符

  • 可以直接重载+ - 乘操作符,在swift中有了这些操作符的定义,如果想自定义操作符,比如点乘+*,需要先声名:
infix operator +* {
    associativity none
    precedence 160
}

infix

  • 为中位操作符,前后都是输入,还有prefix和postfix;

associativity

  • 结合律,加法和减法的为left,点乘不和其它乘结合,这里为none;

precedence

  • 优先级,swift中,乘除法为150, 加减法为140,这里点乘定义为160.

运算:

struct Point {
    var x = 0.0
    var y = 0.0
}

func +*(left: Point, right: Point) -> Double {
    return left.x * right.x + left.y * right.y
}

let p1 = Point(x: 3.0, y: 5.0)
let p2 = Point(x: 4.0, y: 2.0)
let result2 = p1 +* p2

相关文章

  • Currying Operator

    柯里化 操作符 可以直接重载+ - 乘操作符,在swift中有了这些操作符的定义,如果想自定义操作符,比如点乘+*...

  • 函数的柯里化和反柯里化

    一 柯里化(currying) 柯里化(currying)又称部分求值。一个currying的函数首先会接受一些参...

  • Currying

    介绍 Methods may define multiple parameter lists. When a me...

  • currying

    what's currying curry化就是把add(2,3)变成add(2)(3) 我们仔细看看这里发生了什...

  • Swift_currying(柯里化)

    一. Currying解释 currying 翻译为局部套用.又称为部分求值(Partial Evaluation...

  • 2018-08-23

    operator.itemgetter函数: import operator >>> help(operator....

  • RabbitMQ Operator on Kubernetes

    下载Operator定义 下载rmq operator定义 - cluster-operator.yml[http...

  • Swift 进阶

    swift新元素 柯里化(Currying) Swift 里可以将方法进行柯里化(Currying),这是也就是把...

  • Swift Basic Operators

    Assignment Operator The assignment operator (a = b) initi...

  • OpenShift 通过Operator SDK制作Operat

    制作Operator过程 下载安装operator-sdk 创建github仓库 operator-sdk创建应用...

网友评论

      本文标题:Currying Operator

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