首页 > 其他 > 详细

Swift中的类似scala的foldleft方法的实现

时间:2014-08-08 09:45:16      阅读:351      评论:0      收藏:0      [点我收藏+]
extension Array {
    func foldLeft(a:T, action:(T, T)->T)->T {
        var ret:T = a
        for b:T in self {
            ret = action(ret,b)
        }
        return ret
    }
}


把这个放到项目当中任何一个swift文件当中,即可全局访问。

示例:

求最小值

var t = [1,3,5,4,9,100,6,-2]
let b = t.foldLeft(t[0], action: {a,b in if a<b {return a} else {return b}})

输出 -2

求和

let c = t.foldLeft(0, action: {$0+$1})

输入: 126

Swift中的类似scala的foldleft方法的实现,布布扣,bubuko.com

Swift中的类似scala的foldleft方法的实现

原文:http://kongyang.blog.51cto.com/2612964/1537247

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!