第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

什么是單曲?

什么是單曲?

最近對Haskell做了簡要的回顧之后,什么才是簡潔實用關(guān)于單曲本質(zhì)上是什么的解釋?我發(fā)現(xiàn)我遇到的大多數(shù)解釋都很難理解,而且缺乏實際的細節(jié)。
查看完整描述

3 回答

?
互換的青春

TA貢獻1797條經(jīng)驗 獲得超6個贊

事實上,與人們對Monad的共識相反,它們與國家無關(guān)。Monad僅僅是一種包裝事物的方法,并提供了對包裝的東西進行操作的方法,而不需要對其展開包裝。

例如,您可以在Haskell中創(chuàng)建一個類型來包裝另一個類型:

data?Wrapped?a?=?Wrap?a

包裝我們定義的東西

return?::?a?->?Wrapped?a
return?x?=?Wrap?x

若要在不展開包裝的情況下執(zhí)行操作,請假定您有一個函數(shù)。f :: a -> b,然后你可以這樣做電梯該函數(shù)的作用是對包裝好的值進行操作:

fmap?::?(a?->?b)?->?(Wrapped?a?->?Wrapped?b)fmap?f?(Wrap?x)?=?Wrap?(f?x)

這就是我們要理解的一切。然而,事實證明,這樣做有一個更通用的功能。起重,也就是bind:

bind?::?(a?->?Wrapped?b)?->?(Wrapped?a?->?Wrapped?b)bind?f?(Wrap?x)?=?f?x

bind能做的比fmap,反之亦然。實際上,fmap只能根據(jù)bindreturn..所以,在定義單曲時.。你給出它的類型(這里是Wrapped a)然后說出它是如何returnbind行動有效。

最酷的是,這是一個如此普遍的模式,它彈出的地方到處都是,以一種純粹的方式封裝狀態(tài)只是其中之一。

至于對單曲的理解,不要太擔(dān)心。讀一讀你覺得有趣的東西,如果你不馬上理解的話,不要擔(dān)心。然后,只要潛入像Haskell這樣的語言就可以了。單簧管就是這樣一種東西,當(dāng)你通過練習(xí)了解你的大腦時,有一天你突然意識到你理解了它們。


查看完整回答
反對 回復(fù) 2019-07-13
  • 3 回答
  • 0 關(guān)注
  • 589 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號