<分区>
在 Swift 4 中,我如何 curry func
,或类似的东西:
func doSomething(a: A, b: B, c: C) {
}
let do_a = doSomething(a: value_a)
let do_ab = do_a(b: value_b)
let result = do_ab(c: value_c)
在 JS 中,我们可以做:
const sum = x => y => x + y;
// returns a function y => 2 + y
sum (2);
// returns the number 3
sum (2)(1);
我在这里阅读了答案 Curry Function in Swift
但是我想问一下当前的Swift(Swift 4)。我可以避免创建通用函数吗?
func curry<A,B,C,D,E>(f: (A, B, C, D) -> E) -> A -> B -> C -> D -> E
这篇文章非常有用:https://robots.thoughtbot.com/introduction-to-function-currying-in-swift
但是是2014年的
谢谢。