La ce se foloseste @ ?

From HaskellWiki
Revision as of 21:02, 28 November 2007 by Ha$kell (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Sunt situatii cand doriti ca intr-o ecuatie (dintre ecuatiile unei functii) sa se tina cont de structura unei date. De exemplu atunci cand scrieti sablonul (cap:coada) pentru a separa o lista in cap si coada.

Problema este ca daca doriti sa va referiti la intreaga lista numind-o sa zicem lis nu aveti acest nume lis asociat/legat de intrega lista. Ci doar cap si coada. Evident ca ati putea reconstrui lista din cap si coada cu cons - : - dar se poate si altfel.

Problema se rezolva scriind nu o atribuire lis=(cap:coada) - asa ceva nu exista in Haskell ci scriind pur si simplu in sablon:

lis@(cap:coada)

In acest moment va puteti folosi de:
lis - care e intreaga lista
cap - care este capul listei
coada - care este coada listei.

Fireste ca merita sa incercati asa ceva si cu alti construcructori sau cu alte sabloane.

Aceasta ar fi o explicatie minimala. Un exemplu, chiar daca ceva mai complicat gasiti urmand aceasta legatura externa. Cautati @ pe pagina de la: <http://www.willamette.edu/~fruehr/haskell/evolution.html>


<= Inapoi la pagina principala Ro/Haskell