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

作者: 打电话记错号码的人 | 来源:发表于2016-07-27 14:46 被阅读163次

    作品链接:http://www.jianshu.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

    相关文章

      网友评论

        本文标题:iOS中利用函数式编程思想,实现计算器功能

        本文链接:https://www.haomeiwen.com/subject/fapojttx.html