时间:2016-12-9来源:本站原创作者:佚名

译者:bestswifter;校对:numbbbbb;定稿:小锅

几年前,函数式编程的复兴正值巅峰,一篇介绍Scala中10个单行函数式代码的博文在网上走红。很快地,一系列使用其他语言实现这些单行代码的文章也随之出现,比如Haskell,Ruby,Groovy,Clojure,Python,C#,F#,CoffeeScript。

我们永远无法得知有多少人在社交聚会中对这些单行代码留下了深刻的印象,但根据我的猜测,越复杂的例子越能激励我们学习更多函数式编程的知识,至少对外行人来说是这样。

通过使用单行代码完成同样的10个练习,我们来看看Swift和其他语言之间的较量。在这个过程中,你也许还能学到一些有趣的东西(参见#6和#10)。

你可以从GitHub或zipped上下载本文的playground。

#1将数组中每个元素的值乘以2

第一个例子中没什么干货,我们都知道只要使用map函数就可以简单地解决问题:

(1...).map{$0*2}#2求一组数字的和

这个问题可以通过使用reduce方法和加号运算符解决,这是因为加号运算符实际上也是一个函数。不过这个解法是非常显而易见的,待会儿我们会看到reduce方法更具有创造力的使用。

(1...).reduce(0,







































北京一般性治疗白癜风大概多少钱
治疗白癜风的专科医院

转载请注明原文网址:http://www.helimiaopu.com/cxfz/2720.html

------分隔线----------------------------