您的位置:首页 > 移动开发 > Swift

Swift柯里化(Currying)

2016-04-20 23:56 323 查看
在Swift中可以将方法进行柯里化(Currying),也就是把接受多个参数的方法变成接受第一个参数的方法,并且返回接受余下的参数,返回结果的新方法。

例如:

func addTwoNumbers(a:Int)(num:Int) -> Int {

return a + num

}

然后通过只传第一个括号内的参数进行调用,这样将返回另一个方法:

let addtoFour = addTwoNumbers(4) //addToFour 是一个Int -> Int

let result = addToFour(num:6) //result = 10

或者:

func greaterThan(comaror:Int)(Input:Int) -> Bool {

return input > comparor

}

let greaterThan10 = greaterThan(10)

greaterThan10(Input:13)//结果是ture

greaterThan10(Input:9)//结果是false

柯里化是一种量产相似方法的好办法,可以通过柯里化一个方法模板来避免写出很多重复代码,也方便了今后的维护。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: