Matching pattern Scala

Matching pattern Scala
Il linguaggio Scala ha una potente funzionalità chiamata Matching Pattern. Rende il codice più breve e più facile da leggere, consentendo anche il confronto di elementi con modelli complicati. È un metodo per confrontare un valore con uno schema. È paragonabile alle istruzioni di switch di Java e C. In questo argomento, impareremo le tecniche di corrispondenza del modello generale e come possono essere usate a nostro vantaggio.

Invece di utilizzare un'istruzione switch, la parola chiave "match" viene utilizzata qui. La parola "corrispondenza" è costantemente dichiarata nella classe radice di Scala per garantire che tutti gli oggetti possano accedervi. Un modello e una o più espressioni sono inclusi in ciascuna istruzione del caso. Vengono valutati solo se il modello dichiarato corrisponde. Il carattere della freccia (=>) viene impiegato per differenziare il modello dalle espressioni.

Componenti della corrispondenza del pattern in Scala

Le espressioni di corrispondenza sono composte da vari componenti:

    1. Il "candidato" si riferisce al valore che utilizziamo per abbinare i modelli.
    2. La parola chiave "Match".
    3. Il codice da eseguire quando il pattern corrisponde, il modello, la parola chiave del caso e un simbolo della freccia costituiscono molte clausole del caso.
    4. Un'istruzione predefinita in assenza di una corrispondenza. Poiché contiene il simbolo di sottolineatura (_) e viene dopo le clausole del caso, la clausola predefinita può essere facilmente identificata.

Diamo un'occhiata a un esempio semplice per dimostrare quegli elementi:

Esempio 1: corrispondenza del tipo di tipo "int" in Scala

Come corrispondenza di pattern, un esempio richiede un valore intero e restituisce anche un numero intero. Eventuali parametri diversi dai numeri interi non possono essere passati. In questo modo si traduce in un fallimento.


All'interno dello script Scala, abbiamo stabilito l'oggetto come "My_Object" con il modificatore dell'oggetto Scala. Contiene il metodo principale che utilizza println per visualizzare l'istruzione. Nel metodo Println, abbiamo invocato il metodo di prova. Il metodo di prova prende il parametro tipo intero "1". Successivamente, abbiamo un metodo di approccio funzionale in cui abbiamo definito il metodo di prova. Il metodo di prova prende la variabile "i" di tipo "int".

Impostamo la parola chiave "Match" con la variabile "I". All'interno della sezione del blocco, vengono utilizzate le istruzioni del caso. Abbiamo tre casi qui che restituiscono l'espressione sul caso soddisfacente. L'espressione inclusa in un caso viene valutata se il valore di "i" corrisponde a uno qualsiasi dei casi. Da quando abbiamo raggiunto il successo in questo primo tentativo, il caso 1 viene valutato. Se il valore di "i" non è 0 o 1, viene eseguito il caso predefinito che è "case_".

Abbiamo salvato il summenzionato programma Scala nell'esempio.File Scala ". Quindi, eseguiamo il programma Scala con il nome dell'oggetto che hai dato nello script. Qui, abbiamo "my_object". Abbiamo eseguito questo oggetto con la parola chiave Scala. Come puoi vedere, l'espressione del caso 1 è ottenuta perché corrispondeva al modello.

Esempio 2: corrispondenza del tipo di tipo "stringa" in Scala

Ogni oggetto in Scala ha un tipo statico che non può essere modificato perché è un linguaggio digitato. Un oggetto della stringa di tipo, ad esempio, può avere solo le espressioni di stringa. Come visto nella seguente illustrazione, Scala rende semplice confrontare gli oggetti con i modelli di digitare.


Inizia costruendo l'oggetto del precedente script Scala. All'oggetto viene assegnato il nome "linux_object". All'interno del corpo di quell'oggetto, abbiamo la definizione della funzione principale. Il metodo println è invocato all'interno della definizione della funzione principale in cui abbiamo chiamato il metodo di prova e passato il parametro della stringa "Saeed" ad esso. Successivamente, abbiamo una funzione di test in cui la variabile "x" è dichiarata dalla stringa di tipo.

Abbiamo assegnato il modificatore di Match a questa variabile "X" per un modello di abbinamento dei casi. All'interno del blocco del metodo di prova, tre casi sono forniti con le espressioni. Qui, il caso con il jolly "_" viene eseguito perché nessun modello è abbinato alla sequenza "x".

Lo script Scala viene compilato con il modificatore Scala e il nome dell'oggetto "Linux_Object" dal programma precedente. L'output ottenuto ha l'espressione "caso predefinito eseguito" da "case_".

Esempio 3: corrispondenza del modello delle classi di casi in Scala

Le classi di casi sono classi uniche che vengono utilizzate nella corrispondenza del pattern basato sull'espressione del caso. Queste sono classi convenzionali con il caso di modificatore speciale. L'esempio che segue è una semplice illustrazione della corrispondenza del pattern che utilizza la classe Case:


Definendo l'oggetto "My_demo", abbiamo avviato questo script Scala. All'interno del corpo dell'oggetto "my_demo", abbiamo una definizione del metodo principale. Qui, abbiamo dichiarato le tre variabili - "ciano", "dora" e "marrie" - con la parola chiave "val". Le variabili chiamavano la classe "persona" con la nuova parola chiave e imposta i valori su ciascuna variabile. I valori passati alla classe "persona" sono i valori della stringa e il valore intero. Quindi, citiamo attraverso l'elenco delle variabili "ciano", "dora" e "marrie" usando il ciclo per loop e utilizziamo le espressioni del caso con il costruttore del metodo "persona" dando i valori.

La variabile "ciano" è l'espressione corrispondente nel primo caso, il nome "Dora" è l'espressione corrispondente nel secondo caso e, per qualsiasi altro valori, i dettagli sono mostrati come previsto nell'ultimo caso. I parametri P_Name e P_AGE sono dati al costruttore di persona per uno vuoto. Ultimo ma non meno importante, la persona di classe è vuota perché nessun metodo deve essere definito al suo interno.

Quando viene eseguito lo script Scala precedente, visualizza tutte le espressioni di corrispondenza del modello del caso.

Conclusione

Questo è un manuale per la corrispondenza del pattern Scala. La corrispondenza del modello in Scala è migliorata rispetto alla commutazione di Java. La parola chiave Match viene utilizzata per abbinare l'input che è stato fornito in Scala. Qui, esaminiamo una breve introduzione alla funzionalità di abbinamento del modello di Scala, insieme alla sintassi adeguata e agli esempi pertinenti. L'abbinamento del modello ha il vantaggio di essere sia incredibilmente versatile che estremamente potente. La struttura dei dati è dinamicamente distruttibile all'interno del modello. Le variabili specifiche per questa espressione possono quindi essere assegnate direttamente a quei componenti.