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
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

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