Cum sa lucrez cu valori nedefinte ?
From HaskellWiki
| Line 1: | Line 1: | ||
| + | [[Category:Ro]] | ||
| + | |||
O solutie ar fi sa folositi tipul Maybe. E ca si cum s-ar lucra cu niste cutii, pe unele scrie ca e corect definit (just!) ce e inauntru si le puteti deschide iar pe altele scrie "nimic" (eng. Nothing") si nu le puteti deschide. | O solutie ar fi sa folositi tipul Maybe. E ca si cum s-ar lucra cu niste cutii, pe unele scrie ca e corect definit (just!) ce e inauntru si le puteti deschide iar pe altele scrie "nimic" (eng. Nothing") si nu le puteti deschide. | ||
| Line 43: | Line 45: | ||
---- | ---- | ||
| - | [http://www.haskell.org/haskellwiki/Ro/Haskell <= Inapoi la pagina principala Ro/Haskell ] | + | 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 inceputul paginii 'Intrebarile incepatorului Ro/Haskell'. ] | ||
Current revision
O solutie ar fi sa folositi tipul Maybe. E ca si cum s-ar lucra cu niste cutii, pe unele scrie ca e corect definit (just!) ce e inauntru si le puteti deschide iar pe altele scrie "nimic" (eng. Nothing") si nu le puteti deschide.
Maybe este un constructor de tip care duce un tip oarecare a in tipul Maybe a. Va duce de exemplu Integer in Maybe Integer. Valorile din tipul Maybe Integer vor fi: Just 1 Just 2 .. si Nothing
Iata doua functii total SPECIFICATE pe Integer dar care au si valori Nothing:
f1 :: Integer -> Maybe Integer f1 1 = Just 1 f1 _ = Nothing f2 :: Integer -> Maybe Integer f2 1 = Just 1 f2 2 = Just 2 f2 _ = Nothing
Observati ca pentru orice x din Integer se va gasi o ecuatie care-l da pe f de x.
Unele valori sunt definite (Just 1 de exemplu) altele sunt Nothing.
Iata si raspunsurile interpretorului.
Main> f1 1 Just 1 Main> f1 2 Nothing
Valorile tipului Maybe pot fi si comparate, totdeauna Nothing este mai mic decat celelalte valori Just x (pentru orice x).
Main> Nothing < Just 1 True Main>
Pagina indexata la indexul Categories:Ro
<= Inapoi la pagina principala Ro/Haskell.
<- Inapoi la inceputul paginii 'Intrebarile incepatorului Ro/Haskell'.
