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

作品链接: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.结果如图所示


iOS中利用函数式编程思想,实现计算器功能_第1张图片
Snip20160727_2.png

你可能感兴趣的:(iOS中利用函数式编程思想,实现计算器功能)