Personal tools

Ce este ? La ce foloseste ?

From HaskellWiki

(Difference between revisions)
Jump to: navigation, search
m (adding a Pro Haskell Banner)
m
 
(One intermediate revision by one user not shown)
Line 4: Line 4:
 
Banner pro educational:
 
Banner pro educational:
 
<center>
 
<center>
http://www.haskell.org/sitewiki/images/2/2c/BannerProLinuxAndHaskell.gif
+
http://www.haskell.org/wikiupload/2/2c/BannerProLinuxAndHaskell.gif
  
 
La facultate poti invata unul din cele mai productive limbaje: Haskell !
 
La facultate poti invata unul din cele mai productive limbaje: Haskell !
Line 20: Line 20:
 
Nu uitati: pattern matching-ul din Haskell este unidirectional nu bidirectional ca in Prolog. Deci nu puteti inversa ordinea membrilor de linga semnul = nici nu puteti plasa variabilele ale caror valori se vor descoperi in ambii membri.  
 
Nu uitati: pattern matching-ul din Haskell este unidirectional nu bidirectional ca in Prolog. Deci nu puteti inversa ordinea membrilor de linga semnul = nici nu puteti plasa variabilele ale caror valori se vor descoperi in ambii membri.  
  
 +
Exemplu:
 +
 +
O functie care isi aduna primele doua argumente din patru posibile ar putea fi scrisa in mod obisnuit asa:
 +
 +
<haskell>
 +
plusfirst :: Int -> Int ->  Int -> Int
 +
            -> Int
 +
plusfirst a b c d = a + b
 +
 +
</haskell>
 +
 +
dar astfel sunt introduse doua variabile inutile.
 +
Mai eficient va fi sa folosim underscore-ul.
 +
 +
<haskell>
 +
plusfirst :: Int -> Int ->  Int -> Int
 +
            -> Int
 +
plusfirst a b _ _ = a + b
 +
 +
</haskell>
  
 
----
 
----
 
[http://www.haskell.org/haskellwiki/Ro/Haskell <= Inapoi la pagina principala Ro/Haskell. ]<br> <br>
 
[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. ]
 
[http://www.haskell.org/haskellwiki/Intrebarile_incepatorului <'''-''' Inapoi la Intrebarile incepatorului Ro/Haskell. ]

Latest revision as of 06:00, 11 February 2011


Banner pro educational:

BannerProLinuxAndHaskell.gif

La facultate poti invata unul din cele mai productive limbaje: Haskell !



Ce este underscore _ ? La ce se foloseste ?

Simbolul underscore "_" este un element care poate apare intr-un sablon. Se foloseste atunci cand nu intentionam sa folosim in calcule sub-expresia cu care el s-a potrivit. Ganditi-va la el ca la un fel de joker de la carti. :)

Poate fi folosit in mod repetat.

Nu uitati: pattern matching-ul din Haskell este unidirectional nu bidirectional ca in Prolog. Deci nu puteti inversa ordinea membrilor de linga semnul = nici nu puteti plasa variabilele ale caror valori se vor descoperi in ambii membri.

Exemplu:

O functie care isi aduna primele doua argumente din patru posibile ar putea fi scrisa in mod obisnuit asa:

plusfirst :: Int -> Int ->  Int -> Int 
             -> Int
plusfirst a b c d = a + b

dar astfel sunt introduse doua variabile inutile. Mai eficient va fi sa folosim underscore-ul.

plusfirst :: Int -> Int ->  Int -> Int 
             -> Int
plusfirst a b _ _ = a + b

<= Inapoi la pagina principala Ro/Haskell.

<- Inapoi la Intrebarile incepatorului Ro/Haskell.