慣れないリテラルですが、下のように書けば実現できます。
2つ目のメソッドにはラベルを付ける必要があります。
func a(a: String)(b: String) { print(a) print(b) } a("A")(b: "B")
a("A")の型はFunctionになっていました。
func a(a: String)(b: String) { print(a) print(b) } print(a("A").dynamicType) // → String -> ()
aだけセットした状態で使い回す事もできました。
func a(a: String)(b: String) { print(a) print(b) } let myFunc = a("A") myFunc(b: "B") myFunc(b: "C")
使いどころ
イマイチ思いつかなかったのですが、強いて言えば下のように共通Closureを取得するメソッドに使えそうだと思いました。
func commonClosure(value1: Double) -> (Double) -> Double { return { (value2: Double) -> Double in return pow(value2, value1) } } // ↓ こう書ける func commonClosure(value1: Double)(value2: Double) -> Double { return pow(value2, value1) }