Swift 柯里化(currying)和反柯里化(uncurrying)
// 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)") (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |