- 5
- 0
- 约2.69千字
- 约 11页
- 2017-07-23 发布于浙江
- 举报
Swift演示Functors, Applicatives, and Monads 最近学习RAC的了解到其核心思想FRP即函数响应式编程,来学习一下什么是函数式编程。 以前一直行令式编程,即一行一行的代码拼凑起来完成程序的各个状态。函数式编程,从名字看就是用一个个函数来编程,就是用函数来改变程序的各个状态。我的简单理解就是一个盒子封装了一个值,这个盒子通过自身的一个方法可以运用一个同样被封装在盒子里的方法,并返回一个盒子封装了运行结果的值。这个值可以继续运用方法返回一个带有新值的盒子,这样一个函数一个函数继续调用。 下面用图片和Swift演示这三者。 Functors 我们知道一个方法如何应用到一个值上,但如何这个值被封装在一个盒子里面就无法应用到值上: 这就是map函数的由来,map函数定义方法如何应用到值上。任何定义了map的类型都是Functor,map内部实现如下: 盒子可以认为就是Optional类型,Optional是对值的一种封装,它把值和空放到了一个枚举(enum)类型中。所以可以这样做: Optional.Some(2).map { $0 + 3 } // = .Some(5) map函数让方法+3应用到了2值上,因为Optional是一个Functor,它表明了map是如何应用.Some和.None。 func map(f: T - U)
您可能关注的文档
最近下载
- 铁道信号与通信设备-课件 3 信号机分类、显示及命名.pptx
- 和讯财经研究院:2026年绿色金融发展报告.docx
- 3C认证条件流程和相关规程..doc VIP
- 2026年浙江省国贸集团资产经营有限公司招聘9人笔试参考题库(浓缩300题)附答案.docx VIP
- 浙江工业大学《数字图像处理》2021-2022学年期末试卷.doc VIP
- 新翼之梦攻略.pdf VIP
- 专题3.2 椭圆的简单几何性质【八大题型】.docx VIP
- 酒厂包装工理论考试题及答案.doc VIP
- 2023-2024学年四川凉山州西昌一中高一上册期末考试数学试题(含解析).pdf VIP
- 2025年狼王梦阅读测试题及答案.doc VIP
原创力文档

文档评论(0)