【Swift笔记】<二十七>链式编程初识

class CaculateMaker {
    var result: Int = 0
    func add(n: Int) -> CaculateMaker{
        result += n
        return self
    }
    func sub(n: Int) -> CaculateMaker{
        result -= n
        return self
    }
}

class Caculate {
    static func beginCaculate(caculateBlock:(CaculateMaker)->()) -> Int{
        let caculator = CaculateMaker()
        caculateBlock(caculator)
        return caculator.result
    }
}

let result = Caculate.beginCaculate { (maker) in
    maker.add(n: 1).sub(n: 5).add(n: 8)
}

你可能感兴趣的:(【Swift笔记】<二十七>链式编程初识)