Pattern matching
In informatica, il pattern matching o corrispondenza di pattern è l'atto di controllare in una data sequenza di token la presenza dei costituenti di un qualche modello o pattern. Al contrario del riconoscimento di pattern, questa corrispondenza deve essere esatta. I pattern hanno generalmente la forma di sequenze o di strutture ad albero. La corrispondenza dei pattern può essere usata per ottenere le posizioni di un pattern all'interno di una sequenza, o la sostituzione del pattern con un'altra sequenza di token).
Pattern a sequenza (ad esempio una stringa di testo) sono spesso descritti usando le espressioni regolari e combaciati con tecniche come il backtracking.
I modelli ad albero sono utilizzati in alcuni linguaggi di programmazione come strumento generale per elaborare i dati in base alla loro struttura, ad esempio C#,[1] F#,[2] Haskell,[3] Java[4], ML, Python,[5] Ruby,[6] Rust,[7] Scala,[8] Swift[9] e il linguaggio matematico simbolico Mathematica hanno una sintassi speciale per esprimere i modelli ad albero e un costrutto linguistico per l'esecuzione condizionata e il recupero di valori basati su di essi.
Note
modifica- ^ Pattern Matching - C# Guide, su docs.microsoft.com, 13 marzo 2024.
- ^ Pattern Matching - F# Guide, su docs.microsoft.com, 5 novembre 2021.
- ^ A Gentle Introduction to Haskell: Patterns
- ^ (EN) Pattern Matching, su docs.oracle.com. URL consultato il 18 gennaio 2025.
- ^ What's New In Python 3.10 — Python 3.10.0b3 documentation, su docs.python.org. URL consultato il 6 luglio 2021.
- ^ pattern_matching - Documentation for Ruby 3.0.0, su docs.ruby-lang.org. URL consultato il 6 luglio 2021.
- ^ Pattern Syntax - The Rust Programming Language, su doc.rust-lang.org.
- ^ Pattern Matching, su Scala Documentation. URL consultato il 17 gennaio 2021.
- ^ Patterns — The Swift Programming Language (Swift 5.1), su docs.swift.org.