函数式编程思想的侵袭–初步思想认识
关于函数式编程思想是这两年比较火的一个话题,因为入门门槛比较高,相对来说也一直没有深入地研究下去。现在还是想从头来过的系统学习一下。做下笔记备忘,呵呵。
RXCollections框架的引导,虽然作者已经不维护了,但是还是值得学习的一个框架。
- 高阶函数之映射
NSArray * mappedArray = [array rx_mapWithBlock:^id(id each){
return @(pow([each integerValue],2));
}];
- 高阶函数之过滤
NSArray *filteredArray = [array rx_filterWithBlock:^BOOL(id each){
return ([each integerValue] % 2 == 0);
}]
- 高阶函数之折叠
NSNumber * sum = [array rx_foldWithBlock:^ id (id memo , id each){
return @([memo integerValue] + [each integerValue]);
}];
[[array rx_mapWithBlock:^id (id each){
return [each stringValue];
}] rx_foldInitialValue:@"" block:^id (id memo , id each){
return [memo stringByAppendingString:each];
}];