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

  1. ^ Pattern Matching - C# Guide, su docs.microsoft.com, 13 marzo 2024.
  2. ^ Pattern Matching - F# Guide, su docs.microsoft.com, 5 novembre 2021.
  3. ^ A Gentle Introduction to Haskell: Patterns
  4. ^ (EN) Pattern Matching, su docs.oracle.com. URL consultato il 18 gennaio 2025.
  5. ^ What's New In Python 3.10 — Python 3.10.0b3 documentation, su docs.python.org. URL consultato il 6 luglio 2021.
  6. ^ pattern_matching - Documentation for Ruby 3.0.0, su docs.ruby-lang.org. URL consultato il 6 luglio 2021.
  7. ^ Pattern Syntax - The Rust Programming Language, su doc.rust-lang.org.
  8. ^ Pattern Matching, su Scala Documentation. URL consultato il 17 gennaio 2021.
  9. ^ Patterns — The Swift Programming Language (Swift 5.1), su docs.swift.org.
  Portale Informatica: accedi alle voci di Wikipedia che trattano di informatica

 

Prefix: a b c d e f g h i j k l m n o p q r s t u v w x y z 0 1 2 3 4 5 6 7 8 9

Portal di Ensiklopedia Dunia