iOS中利用函数式编程思想,实现计算器功能

作品链接://www.greatytc.com/users/1e0f5e6f73f6/top_articles

*函数式编程思想:是把操作尽量写成一系列嵌套的函数或者方法调用。

  • 函数式编程本质:就是往方法中传入Block,方法中嵌套Block调用,把代码聚合起来管理
  • 函数式编程特点:每个方法必须有返回值(本身对象),把函数或者Block当做参数,block参数(需要操作的值)block返回值(操作结果)
  • 利用函数式编程思想,实现计算器功能

1.声明结果及block方法

@property (nonatomic, assign) int result;
- (instancetype)PH_calculate:(int(^)(int))calculateBlock;

2.实现block方法

- (instancetype)PH_calculate:(int (^)(int))calculateBlock
{
    _result = calculateBlock(_result);
    return self;
}

3.调用方法实现计算器功能


- (void)viewDidLoad {
    [super viewDidLoad];

    PHCalculateManager *calculateManager = [[PHCalculateManager alloc] init];

    int result = [[calculateManager PH_calculate:^int(int result) {
         // 存放所有的计算代码
        result += 8;
        result *= 8;
        result -= 4;
        result /= 3;
        return result;
    }] result];
    NSLog(@"%d",result);
}

5.结果如图所示


Snip20160727_2.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Lua 5.1 参考手册 by Roberto Ierusalimschy, Luiz Henrique de F...
    苏黎九歌阅读 14,744评论 0 38
  • 原文链接:https://github.com/EasyKotlin 值就是函数,函数就是值。所有函数都消费函数,...
    JackChen1024阅读 11,304评论 1 17
  • 函数和对象 1、函数 1.1 函数概述 函数对于任何一门语言来说都是核心的概念。通过函数可以封装任意多条语句,而且...
    道无虚阅读 10,147评论 0 5
  • 第2章 基本语法 2.1 概述 基本句法和变量 语句 JavaScript程序的执行单位为行(line),也就是一...
    悟名先生阅读 9,698评论 0 13
  • 何必在意 让别人去说 你又不是墙头草 不与风向而摇摆 何必活在别人的言语中 心若豁然 天地自然就宽了 做好自己 一...
    Yuexiaofeng阅读 631评论 0 1