在Swift中讨论,将来会有新的声明语法吗?
发布时间:2020-12-14 04:53:28 所属栏目:百科 来源:网络整理
导读:刚刚在 Linux上安装了Swift来检查它. 尝试一个小例子的currying会导致警告curry的语法将来会发生变化,但是我找不到任何关于这个新语法的样子. 我试过的例子: func do_stuff(x: Int) (y: Int) (z: Int) - Int { return (x - y) * z}let curry_fun = do_stuff
刚刚在
Linux上安装了Swift来检查它.
尝试一个小例子的currying会导致警告curry的语法将来会发生变化,但是我找不到任何关于这个新语法的样子. 我试过的例子: func do_stuff(x: Int) (y: Int) (z: Int) -> Int { return (x - y) * z } let curry_fun = do_stuff(42) let x = curry_fun(y: 7)(z: 3) 编译此示例会导致以下警告: warning: curried function declaration syntax will be removed in a future version of Swift; use a single parameter list func do_stuff(x: Int) (y: Int) (z: Int) -> Int { ^~~~~~~~~~~~~~~~~~~~~~~~~~, 那么在未来的swift中,currying会是什么样子呢? 我尝试过像func do_stuff(x:Int,y:Int,z:Int) – > Int …,但是我找不到用这个函数进行currying的方法.. 解决方法
只删除声明语法,例如func(a:Int)(b:Int) – >诠释
func curry(a: Int)(b: Int) -> Int { return a + b } 相当于: func newCurry(a: Int) -> (b: Int) -> Int { return { b in return a + b } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |