Functor,Applicative,Monad


這是函數(shù)式編程內(nèi)的三個(gè)重要概念,本人在接觸swift函數(shù)學(xué)習(xí)時(shí)接觸,徹底搞蒙了,后來又看了多篇文章以后才搞明白,在此只是表述下自己的理解。

唐巧的博客一
唐巧的博客二
雷純鋒的博客

個(gè)人認(rèn)為雷純鋒的介紹較容易理解,但倆者可結(jié)合看,形成自己的見解


首先明確三種類型都是一種值數(shù)據(jù)類型

Functor

接收一個(gè)上下文中的值,應(yīng)用一函數(shù),得到一個(gè)上下文中的值
注:接收的是上下文中的值,值存在,相當(dāng)于接受一個(gè)普通值,返回一個(gè)普通值;值不存在,則返回空,因值的不確定性,故稱為上下文中的值。

Applicative

接收一個(gè)上下文中的值,應(yīng)用一上下文的函數(shù),得到一上下文中的值
?。号cFunctor區(qū)別在于函數(shù)也是不確定的,可有可無,故也是上下文的函數(shù)

Monad

接收一個(gè)上下文中的值,應(yīng)用一個(gè)接收普通值但是返回上下文中的值的函數(shù),得到一個(gè)上下文中的值。
注:此與Functor極為相似,區(qū)別在于應(yīng)用的函數(shù),F(xiàn)unctor應(yīng)用的函數(shù)是:接收一個(gè)普通值返回一個(gè)普通值,Monad:應(yīng)用的函數(shù)是:接受一個(gè)普通值返回一個(gè)上下文中的值。

看那么多都繞暈了,一定要學(xué)好語(yǔ)文,區(qū)分好主謂賓,去掉定狀補(bǔ),概念就明了了~~


看!灰機(jī)~灰機(jī)灰過去了~灰機(jī)又灰回來了~~

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容