加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Swift 柯里化(currying)和反柯里化(uncurrying)

发布时间:2020-12-14 01:33:11 所属栏目:百科 来源:网络整理
导读:// Demo of currying func addTwoNums(a: Int )(num: Int ) - Int { return a + num } let addToFour = addTwoNums( 4 ) let result = addToFour(num: 6 ) print( "result: ( result )" ) func greaterThan(comparor: Int )(input: Int ) - Bool { return

// Demo of currying


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

return a + num

}


let addToFour = addTwoNums(4)

let result = addToFour(num: 6)

print("result: (result)")


func greaterThan(comparor: Int)(input: Int) -> Bool {

return input > comparor

}


let greaterThan10 = greaterThan(10)

let b1 = greaterThan10(input: 10)

let b2 = greaterThan10(input: 4)

print("b1: (b1)")

print("b2: (b2)")


// Demo of uncurrying


let foo = {(a: Int) -> (Int) -> Int in

return {(b: Int) -> Int in

return a * a + b * b

}

}


let interesting = foo(3)(4)

print("interesting: (interesting)")


let interestingAgain = (foo(3))(4)

print("interestingAgain: (interestingAgain)")

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读