zoukankan      html  css  js  c++  java
  • iOS 开发之函数式编程思想(Functional Programming)

      函数式编程(Functional Programming),

      函数式编程强调的函数:1、不依赖外部状态;2、不改变外部状态。

      函数式编程可解决线程安全问题,每一个函数都是线程安全的。

      时间状态:变量一旦有了状态,它就有可能随着时间而发生变化,时间是最不可预知的因素。

      空间状态:如果把一个线程看成一个独立的空间,在程序的世界当中,空间会产生交叉重叠。一个变量如果可以被两个线程同时访问,它的值如果可以在两个空间发生变化,这个变量同样变得很危险

      高阶函数:参数为函数或返回值为函数的函数;

      实现一个计算器:

    #import <Foundation/Foundation.h>
    
    @interface SumManager : NSObject
    
    @property (nonatomic, assign) int result;
    
    - (instancetype)manger:(int(^)(int result))sumBlock;
    
    @end
    
    
    
    @implementation SumManager
    
    - (instancetype)manger:(int (^)(int))sumBlock {
        _result = sumBlock(_result);
        return self;
    }
    
    @end

      

    SumManager *mgr = [[SumManager alloc] init];
        int result1 = [mgr manger:^int(int result) {
            result += 10;
            result *= 3;
            return result;
        }].result;
        NSLog(@"结果:%d",result1);

     

  • 相关阅读:
    Activity中Intent的知识
    详解 Android 的 Activity 组件
    Android xml资源文件中@的含义
    为App签名的其他方法
    如何将Android程序打包成apk文件
    创建Android虚拟设备(AVD)
    Android开发环境搭建
    论适应和麻木
    一些有趣的图片
    python 写一个scheme 解释器 (二)——简单求值器内核
  • 原文地址:https://www.cnblogs.com/ZachRobin/p/9803659.html
Copyright © 2011-2022 走看看