Comprovació de patrons
From Wikipedia, the free encyclopedia
En tecnologies de la informació, l'encaix o comprovació de patrons (en anglès: pattern matching) és l'operació de comprovar si una dada pot ser descomposta a partir de les operacions especificades en una expressió patró, obtenint-ne els components constitutius i assignant-los a les variables especificades al patró, cas de patrons d'expressions algebraiques o obtingudes com a resultat en cas d'expressions regulars en forma de llista de seccions delimitades per parèntesis.
Els patrons algebraics s'utilitzen molt en llenguatges de programació funcional. Per exemple, si es té una dada cadena 'abc' i el patró és x.'c' (x seguit de 'c') la comprovació tindrà èxit i s'assignarà a la variable x el valor 'ab'. Normalment se sol especificar una llista de patrons possibles i les accions a prendre en cada cas.
Cas de llistes i llenguatge Haskell:
[] identifica la llista buida
(x:xs) expressa la composició a partir d'un element i una altra llista
La descomposició per comprovació de patrons es pot completar amb guardes per especificar accions a fer en subdominis de valors.
(x:xs) | x<5 ... | altrament ...
En llenguatge Scala es pot afegir comprovació de tipus en els patrons
x:String ... x:Int ...
Els valors individuals també poden ser especificats com a patrons
0 ... 1 ... n ...