没有人觉得 swift 是一门丑陋的语言吗?

2015-10-10 14:21:53 +08:00
 expkzb
3255 次点击
所在节点    Swift
7 条回复
dorentus
2015-10-10 16:08:00 +08:00
说说哪里丑陋了?
expkzb
2015-10-10 16:20:27 +08:00
@dorentus 比如这种东西

func jediTrainer () -> ((String, Int) -> String) {
func train(name: String, times: Int) -> (String) {
return "\(name) has been trained in the Force \(times) times"
}
return train
}
let train = jediTrainer()
train("Obi Wan", 3)

操作符太多,也过于抽象,个人认为不太符合编程语言发展的趋势
dorentus
2015-10-10 18:00:54 +08:00
func jediTrainer()(name: String, times: Int) {
return "\(name) has been trained in the Force \(times) times"
}

这样看着是不是舒服些?
dorentus
2015-10-10 18:08:08 +08:00
另外通常情况下比较少会遇到一定要这么做的,如果一定要这么做那么你肯定有使用函数式语言的背景,那么理解上也不会有啥问题。
dorentus
2015-10-10 18:09:16 +08:00
@dorentus 不过上面这个我把参数写反了😏
expkzb
2015-10-10 18:14:06 +08:00
@dorentus

func jediTrainer()(name: String, times: Int) {
return "\(name) has been trained in the Force \(times) times"
}

对 swift 了解不深,这个和我的那个是等价的吗?貌似只返回了一个字符串并没有返回函数
dorentus
2015-10-10 21:05:15 +08:00
@expkzb 看下这个你就明白了:
http://swifter.tips/currying/

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/226905

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX