Swift Code:

    func makeIncrementor(forIncrement amount: Int) -> (() -> Int,() -> Int) {

        var runningTotal = 

        func incrementor() -> Int {

            runningTotal += amount

            return runningTotal

        }

        func decrementor()->Int{

            runningTotal -= amount

            return runningTotal

        }

        runningTotal += ;

        return (incrementor,decrementor)

    }

    let counter = makeIncrementor(forIncrement: );

    let a1 = counter.();

    assert(a1==, "a1")

    let a2 = counter.();

    assert(a2==, "a2")

    let a3 = counter.();

    assert(a3==, "a3")

    let c1 = counter.();

    assert(c1==, "c1")

Objective-C Code:

        __block int runningTotal = ;

        int (^incrementor)() = ^(){
return ++runningTotal;
}; int (^decrementor)() = ^(){
return --runningTotal;
};
runningTotal=;
int a1 = incrementor();
int a2 = incrementor();
int a3 = incrementor();
int c1 = decrementor();

最新文章

  1. MysqlNDB集群配置
  2. FUND
  3. JavaScript 开发者经常忽略或误用的七个基础知识点(转)
  4. Python缩小图像
  5. DELPHI设置枚举类型size
  6. Android_adb shell am/pm使用
  7. SQLite3中自增主键
  8. SQLite入门与分析(二)---设计与概念
  9. Nginx+tomcat 做负载均衡
  10. Java Interface and Abstraction
  11. servlet和手动创建servlet,断点调试
  12. 怎样把echarts图表做成响应式的
  13. KNN--用于手写数字识别
  14. ASP.NET MVC5高级编程 之 HTML辅助方法
  15. iOS Runtime(一)、objc_class深深的误解
  16. Linux 查看进程运行的完整路径方法
  17. sublime ctags跳转函数使用
  18. JMeter学习(二十一)关联(转载)
  19. spring+dubbo整合
  20. MySQL开发面试题

热门文章

  1. gdal和python在windows上的安装
  2. 关于使用json 字符串转换为字典问题
  3. ionic 安装教程
  4. Object-C类目(Category)
  5. iOS-事务相关
  6. javascript 内置对象 第17节
  7. 10.21_Nutz批量插入顺序,POI,wiki持续关注,POI,SSH,数据库优先
  8. greenplum学习
  9. Ubuntu下Java环境配置
  10. 使用WebBrowser的记录