Difference between revisions of "Pot folosi fail impreuna cu monada parserelor ?"
m |
m |
||
Line 1: | Line 1: | ||
+ | [[Category:Ro]] |
||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | '''Atentie:''' Fail este intotdeauna urmat de argumentul sau, string-ul care va apare pe ecran si produce de obicei oprirea programului cu afisarea acelui mesaj. Vi-l puteti imagina pe '''fail''' ca un fel de 'exit "Mesaj text dorit de dvs."' Exceptie fac cateva monade: Monada Maybe, monada listelor ...pentru ele fail este definit altfel. |
||
⚫ | |||
+ | |||
⚫ | |||
fail :: String m a |
fail :: String m a |
||
Line 9: | Line 11: | ||
unde m este monada iar a este orice alt tip incapsulat intr-o valoare monadica (ok, daca ne gandim la valorile monadice ca la niste capsule). |
unde m este monada iar a este orice alt tip incapsulat intr-o valoare monadica (ok, daca ne gandim la valorile monadice ca la niste capsule). |
||
− | In lipsa altor declaratii pentru a defini operatiile dintr-o monada anume se |
+ | In lipsa altor declaratii pentru a defini operatiile dintr-o monada anume se prezuma ca fail a fost definit ca: |
fail s = error s |
fail s = error s |
||
Line 23: | Line 25: | ||
Despre acest subiect mai putem discuta. |
Despre acest subiect mai putem discuta. |
||
---- |
---- |
||
− | [http://www.haskell.org/haskellwiki/Ro |
+ | Pagina indexata la indexul [[Category:Ro]] [http://www.haskell.org/haskellwiki/Category:Ro Categories:Ro] |
+ | ---- |
||
+ | [http://www.haskell.org/haskellwiki/Ro/Haskell <= Inapoi la pagina principala Ro/Haskell. ]<br> <br> |
||
+ | [http://www.haskell.org/haskellwiki/Intrebarile_incepatorului <'''-''' Inapoi la Intrebarile incepatorului Ro/Haskell. ] |
Revision as of 22:47, 24 January 2008
Da, fail are un tip polimorfic asa ca il puteti folosi si cu monada de IO si cu monada parserelor si cu alte monade.
Atentie: Fail este intotdeauna urmat de argumentul sau, string-ul care va apare pe ecran si produce de obicei oprirea programului cu afisarea acelui mesaj. Vi-l puteti imagina pe fail ca un fel de 'exit "Mesaj text dorit de dvs."' Exceptie fac cateva monade: Monada Maybe, monada listelor ...pentru ele fail este definit altfel.
In clasa Monad fail este prezentat cu semnatura:
fail :: String m a
unde m este monada iar a este orice alt tip incapsulat intr-o valoare monadica (ok, daca ne gandim la valorile monadice ca la niste capsule).
In lipsa altor declaratii pentru a defini operatiile dintr-o monada anume se prezuma ca fail a fost definit ca:
fail s = error s
deci ca va avea ca efect afisarea unei erori. Totusi la unele monade fail este altfel definit, fie din felul cum e declarata monada in biblioteca fie fiindca asa a dorit programatorul. La monada Maybe toate fail-urile nu fac decat sa dea Nothing, fiind declarat:
fail s = Nothing
iar la monada listelor fail, indiferent de string da lista vida, fiind declarat:
fail s = []
Despre acest subiect mai putem discuta.
Pagina indexata la indexul Categories:Ro
<= Inapoi la pagina principala Ro/Haskell.
<- Inapoi la Intrebarile incepatorului Ro/Haskell.