Monads siv rau dab tsi?
Monads siv rau dab tsi?

Video: Monads siv rau dab tsi?

Video: Monads siv rau dab tsi?
Video: SIVCHIK - КУБИКИ - РУБИКИ (КЛИП 2021) 2024, Kaum ib hlis
Anonim

Los ntawm wikipedia: Hauv kev ua haujlwm ua haujlwm, a monad yog hom ntaub ntawv paub daws teeb siv los sawv cev kev suav (tsis yog cov ntaub ntawv hauv tus qauv sau npe). Monads tso cai rau tus programmer los sib txuas cov yeeb yam ua ke los tsim ib lub raj xa dej, uas txhua qhov kev nqis tes ua yog dai kom zoo nkauj nrog cov txheej txheem ua haujlwm ntxiv los ntawm monad.

Ib yam li ntawd, lub ntsiab lus ntawm monads yog dab tsi?

Monads tsis yog ib qho cuab yeej los tiv thaiv kev mob tshwm sim. Monads yog siv rau, ntawm lwm yam, statically taug qab cov teebmeem. Qhov no paub txog qhov tseem ceeb ntawm cov teebmeem thiab tsis txhob tso lawv li "kev mob tshwm sim".

Tsis tas li ntawd, daim ntawv qhia yog Monad? khi (los yog flatMap) thiab chav tsev (tus tsim) yog txhua yam nws yuav siv los txiav txim siab a monad . Los ntawm ob qho no, peb kuj tuaj yeem tsim daim ntawv qhia . daim ntawv qhia cia peb hloov cov khoom qhwv yam tsis tas yuav rov qhwv nws tus kheej thaum kawg ntawm txoj haujlwm. Ua li no, daim ntawv qhia tuaj yeem sau nyob rau hauv cov nqe lus ntawm khi thiab unit.

Tib neeg kuj nug, dab tsi yog monads hauv kev ua haujlwm ua haujlwm?

Hauv ua haujlwm programming , a monad yog tus qauv tsim uas tso cai rau kev tsim cov kev pab cuam dav dav thaum automating deb boilerplate code xav tau los ntawm qhov kev pab cuam logic. Txij li thaum monads ua semantics kom meej meej rau ib hom kev xam, lawv kuj siv tau los siv cov lus yooj yim.

Puas yog Monad ua haujlwm?

A tus ua haujlwm yog hom ntaub ntawv uas siv cov Function typeclass. Ib qho applicative yog hom ntaub ntawv uas siv cov Applicative typeclass. A monad yog hom ntaub ntawv uas siv cov Monad typeclass.

Pom zoo: