Personal tools

Cum sa lucrez cu valori nedefinte ?

From HaskellWiki

(Difference between revisions)
Jump to: navigation, search
 
 
(2 intermediate revisions by one user not shown)
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 21: Line 23:
 
f2 _ = Nothing
 
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.
 
 
</haskell>
 
</haskell>
  +
  +
Observati ca pentru orice x din Integer se va gasi o ecuatie care-l da pe f de x. <br> Unele valori sunt definite (Just 1 de exemplu) altele sunt Nothing.
   
 
Iata si raspunsurile interpretorului.
 
Iata si raspunsurile interpretorului.
Line 42: 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'. ]

Latest revision as of 14:39, 10 February 2008


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'.