Difference between revisions of "Ce este ? La ce foloseste ?"
m |
|||
(2 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
[[Category:Ro]] |
[[Category:Ro]] |
||
+ | |||
+ | |||
+ | Banner pro educational: |
||
+ | <center> |
||
+ | http://www.haskell.org/wikiupload/2/2c/BannerProLinuxAndHaskell.gif |
||
+ | |||
+ | La facultate poti invata unul din cele mai productive limbaje: Haskell ! |
||
+ | </center> |
||
+ | ---- |
||
+ | |||
'''Ce este underscore _ ? La ce se foloseste ?''' |
'''Ce este underscore _ ? La ce se foloseste ?''' |
||
Line 10: | 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.