美文网首页
Functor,Applicative,Monad

Functor,Applicative,Monad

作者: CatLogic | 来源:发表于2016-04-28 21:17 被阅读0次

    这是函数式编程内的三个重要概念,本人在接触swift函数学习时接触,彻底搞蒙了,后来又看了多篇文章以后才搞明白,在此只是表述下自己的理解。

    唐巧的博客一
    唐巧的博客二
    雷纯锋的博客

    个人认为雷纯锋的介绍较容易理解,但俩者可结合看,形成自己的见解


    首先明确三种类型都是一种值数据类型

    Functor

    接收一个上下文中的值,应用一函数,得到一个上下文中的值
    注:接收的是上下文中的值,值存在,相当于接受一个普通值,返回一个普通值;值不存在,则返回空,因值的不确定性,故称为上下文中的值。

    Applicative

    接收一个上下文中的值,应用一上下文的函数,得到一上下文中的值
    住:与Functor区别在于函数也是不确定的,可有可无,故也是上下文的函数

    Monad

    接收一个上下文中的值,应用一个接收普通值但是返回上下文中的值的函数,得到一个上下文中的值。
    注:此与Functor极为相似,区别在于应用的函数,Functor应用的函数是:接收一个普通值返回一个普通值,Monad:应用的函数是:接受一个普通值返回一个上下文中的值。

    看那么多都绕晕了,一定要学好语文,区分好主谓宾,去掉定状补,概念就明了了~~


    看!灰机~灰机灰过去了~灰机又灰回来了~~

    相关文章

      网友评论

          本文标题:Functor,Applicative,Monad

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