Swift 3高阶函数简介

介绍

今天又是一天。 另一个美好的一天。 另一个迅速行动的好日子。 但不只是其他任何一天。 今天我们要进入丛林。 准备好一些Swift丛林荒野。

我最近在YouTube上观看了一些随机的动物战斗,因此本文发生在丛林中。

保持光线凉爽。 旅行愉快。

我们将讨论的主题是具有map,filter,reduce以及将这三个元素放在一起的高阶函数。

欢迎使用Wild Edition:Lio The Lion

前提条件

强烈建议您在开始学习之前对函数和闭包有扎实的了解。如果您确实在本文中遇到任何困扰,希望这些文章对您来说很有价值。 因此,如果您对这些文章还不确定,请务必查阅其中的任何文章。

Swift 3中的主函数

Swift 3中的闭包简介

故事

饥饿的狮子想要食物。 食物枯竭。 他的物种只剩下3个中的1个。 大地,搞砸了。 饥饿的狮子。 o 廖是他的名字。 廖是饥饿的狮子。 他会吃任何东西。 任何人。

躺在一片绿色的丛林中,看上去更像沙漠。 干无叶。 廖闭上双眼冬眠。 左眼睁开……等待中。 等待杀死。 人类也是如此。 Bon来了。

天啊 你在这里做什么?

廖把目标对准了猎物。 肉 他睁开右眼。 看邦。 茎秆 伸展他的背部。 降低他的立场。 向远处左移,落在Bon的视线之后。 廖动。 向前移动。 仍然低而动。 仍然用狙击手的稳定盯着猎物。

Lio在Bon后面。 Bon听到了饥饿的国王在他身后跳动的心脏。 邦转过身来。

举手击掌。

地图

狮子快要灭绝了。 在某些地方,它们已经灭绝了。 现在是时候更好地对待我们每个狮子朋友。 关键字-每个。

地图-每一个

假设狮子的健康状况是由HP计算得出的,0为最差,100为最佳。

 变量HPs = [50、60、70] 

现在我们将每头狮子的生命值提高10。

  HPs.map {$ 0 + 10} 

以上是最简洁的。

这是最不详细的:

  HPs.map({(HP:Int)-> Int in return HP + 10}) 
  HPs.map({(HP:Int)HP + 10返回) 
  HPs.map({HP回报HP + 10}) 
  HPs.map({HP in HP + 10} 
  HPs.map({$ 0 + 10}) 
  HPs.map {$ 0 + 10} 

过滤

现在我们对狮子的治疗更好了,狮子繁殖了,现在我们已经养了5头狮子。

狮子的年龄不同。 年轻人似乎对学习制作iOS游戏非常感兴趣。 因此,让我们做一个过滤器来寻找年轻的。

筛选器-符合条件

假设年轻人低于5岁。

 年龄= [2、4、6、8、10] 

现在让我们进行过滤。

  ages.filter {$ 0 <5} 

以上是最简洁的。

这是最不详细的:

  ages.filter({(age:Int)-> Int in return age <5}) 
  ages.filter({(age:Int)返回年龄<5}) 
  ages.filter({返回年龄的年龄<5}) 
  ages.filter({年龄<5岁) 
  ages.filter({$ 0 <5}) 
  ages.filter {$ 0 <5} 

降低

狮子已繁殖。 像您这样美丽的读者的协作,狮子的数量已增加到5只。 男性和女性。 美丽。 狮子现在想知道它们中的5只体重多少,因为它们很好奇。

减少-全部归为一

好奇来自幼崽的物理模拟实验室。

这是他们的权重:

  var权重= [100、200、300、400、500] 

狮子现在超级健康。 他们中的一些人已经戴上了相当多的肌肉或腹部肌肉。

  weights.reduce(0,+) 

以上是最简洁的。

这是最不详细的:

  weights.reduce(0,{(结果:(Int,Int))->返回结果result.0 + result.1}的Int) 
  weights.reduce(0,{result-> Int in return result.0 + result.1}) 
  weights.reduce(0,{导致返回result.0 + result.1}) 
  weights.reduce(0,{结果为result.0 + result.1}) 
  weights.reduce(0,{$ 0 + $ 1}) 
  weights.reduce(0,+) 

地图过滤器减少

经过来自地球人的所有这些善意的举动之后,五只狮子的速度都以惊人的20英里/小时的速度增加。

他们的速度提高后,我们希望过滤速度降低到50英里/小时以上。

然后将它们加在一起。

  speeds.map {$ 0 + 20} .filter {$ 0> 50} .reduce(0,+) 

包起来

The Wild Edition:Lio The Lion中,我们了解了如何将高阶函数与map,filter,reduce和将这三个函数放在一起使用。

最后的评论

希望您喜欢并从我的文章中学到了宝贵的经验。 如果有的话,请点击那个❤按钮让我知道,然后在Medium上关注我。 并且,分享这篇文章,以便您的圈子也可以获取一些知识。

对于那些感兴趣的人,这里是我的LinkedIn。

最后,如果您有任何评论,问题或建议,请随时将其放在下面。 告诉我您接下来想学什么。 我在为你们写作!