码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2014-08-08 09:45:16      阅读:223      评论:0      收藏:0      [点我收藏+]

标签:swift   scala   foldleft   

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方法的实现

标签:swift   scala   foldleft   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!