Swift中的类似scala的foldleft方法的实现
extensionArray{funcfoldLeft(a:T,action:(T,T)->T)->T{varret:T=aforb:Tinself{ret=action(ret,b)}returnret}}
把这个放到项目当中任何一个swift文件当中,即可全局访问。
示例:
求最小值
vart=[1,3,5,4,9,100,6,-2]letb=t.foldLeft(t[0],action:{a,binifa<b{returna}else{returnb}})
输出 -2
求和
letc=t.foldLeft(0,action:{$0+$1})
输入: 126
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。