La ce se foloseste @ ?
Despre @ pe scurt: Serveste la dat un nume unui intreg sablon. de obicei cand scriem un sablon evidentiem partile structurii si nu dam nume structurii intregi. La dat numele (sa zicem x) structurii intregi folosim un x@ pus in fata sablonului.
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>
Pagina indexata la indexul Categories:Ro
<= Inapoi la pagina principala Ro/Haskell.
<- Inapoi la Intrebarile incepatorului Ro/Haskell.