Difference between revisions of "Ce este ? La ce foloseste ?"
m (adding a Pro Haskell Banner) |
m |
||
(One intermediate revision by the same user not shown) | |||
Line 4: | Line 4: | ||
Banner pro educational: |
Banner pro educational: |
||
<center> |
<center> |
||
− | http://www.haskell.org/ |
+ | 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> |
||
---- |
---- |
Latest revision as of 06:00, 11 February 2011
Banner pro educational:
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.