Au lieu d'utiliser une instruction Switch, le mot clé «Match» est utilisé ici. Le mot «correspondant» est toujours déclaré dans la classe racine de Scala pour s'assurer que tous les objets peuvent y accéder. Un modèle et une ou plusieurs expressions sont incluses dans chaque déclaration de cas. Ils ne sont évalués que si le motif indiqué correspond. Le caractère flèche (=>) est utilisé pour différencier le motif des expressions.
Composants de la correspondance de motifs dans Scala
Les expressions de correspondance sont composées de divers composants:
Regardons un exemple simple pour démontrer ces éléments:
Exemple 1: correspondance de modèle de type «int» dans Scala
En tant que correspondance de modèle, un exemple nécessite une valeur entière et renvoie également un entier. Tous les paramètres autres que les entiers ne peuvent pas être passés. Cela entraîne un échec.
Dans le script Scala, nous avons établi l'objet comme «my_object» avec le modificateur d'objet Scala. Il contient la méthode principale qui utilise le println pour afficher l'instruction. Dans la méthode println, nous avons invoqué la méthode de test. La méthode de test prend le paramètre de type entier «1». Ensuite, nous avons une méthode d'approche fonctionnelle où nous avons défini la méthode de test. La méthode de test prend la variable «i» de type «int».
Nous définissons le mot clé «Match» avec la variable «I». À l'intérieur de la section bloc, les instructions de cas sont utilisées. Nous avons trois cas ici qui renvoient l'expression sur le cas satisfaisant. L'expression incluse dans un cas est évaluée si la valeur de «I» correspond à l'un des cas. Depuis que nous avons réussi à cette première tentative, le cas 1 est évalué. Si la valeur de «i» n'est pas 0 ou 1, le cas par défaut qui est «Case_» est effectué.
Nous avons enregistré le programme Scala susmentionné dans «l'exemple.fichier scala ”. Ensuite, nous exécutons le programme Scala avec le nom d'objet que vous avez donné dans le script. Ici, nous avons "my_object". Nous avons exécuté cet objet avec le mot-clé Scala. Comme vous pouvez le voir, l'expression du cas 1 est obtenue car elle correspondait au modèle.
Exemple 2: correspondance de modèle de type «String» dans Scala
Chaque objet de Scala a un type statique qui ne peut pas être modifié car il s'agit d'une langue dactylographiée. Un objet de la chaîne de type, par exemple, ne peut avoir que les expressions de chaîne. Comme on le voit dans l'illustration suivante, Scala permet de comparer les objets aux modèles de type.
Commencez par construire l'objet du script scala précédent. L'objet est attribué le nom «Linux_Object». À l'intérieur du corps de cet objet, nous avons la définition de la fonction principale. La méthode println est invoquée dans la définition de la fonction principale où nous avons appelé la méthode de test et passé le paramètre de chaîne «Saeed». Après cela, nous avons une fonction de test où la variable «x» est déclarée de la chaîne de type.
Nous avons attribué le modificateur de match à cette variable «X» pour un modèle de correspondance des cas. Dans le bloc de la méthode de test, trois cas sont fournis avec les expressions. Ici, le cas avec le joker "_" est exécuté car aucun modèle n'est adapté à la séquence "x".
Le script Scala est compilé avec le modificateur Scala et le nom de l'objet «Linux_Object» du programme précédent. La sortie obtenue a l'expression «cas par défaut exécuté» à partir du «cas_».
Exemple 3: correspondance de motifs des classes de cas à Scala
Les classes de cas sont des classes uniques qui sont utilisées dans le cas de correspondance de motifs basés sur l'expression. Ce sont des classes conventionnelles avec le cas de modificateur spécial. L'exemple qui suit est une illustration simple de la correspondance de motifs qui utilise la classe de cas:
En définissant l'objet «my_demo», nous avons commencé ce script scala. À l'intérieur du corps d'objet «my_demo», nous avons une définition de méthode principale. Ici, nous avons déclaré les trois variables - «Cyan», «Dora» et «Marrie» - avec le mot-clé «Val». Les variables appelées la classe «personne» avec le nouveau mot-clé et définir les valeurs par rapport à chaque variable. Les valeurs transmises à la classe «personne» sont les valeurs de chaîne et la valeur entière. Ensuite, nous itérons à travers la liste des variables «cyan», «dora» et «marrie» en utilisant la boucle for et utilisez les expressions de cas avec le constructeur de la méthode «personne» en donnant les valeurs.
La variable «cyan» est l'expression correspondante dans le premier cas, le nom «Dora» est l'expression correspondante dans le deuxième cas, et pour toute autre valeur, les détails sont indiqués comme prévu dans le dernier cas. Le nom p_name et les paramètres p_age sont donnés au constructeur de la personne pour un vide. Dernier point mais non le moindre, la classe est vide car aucune méthode ne doit être définie à l'intérieur.
Lorsque le script Scala précédent est exécuté, il affiche toutes les expressions de correspondance du modèle du boîtier.
Conclusion
Ceci est un manuel pour la correspondance du modèle Scala. La correspondance du motif dans Scala est améliorée que la commutation en java. Le mot clé Match est utilisé pour correspondre à l'entrée qui a été fournie à Scala. Ici, nous passons en revue une brève introduction aux fonctionnalités de correspondance de modèle de Scala, ainsi que la syntaxe appropriée et les exemples pertinents. La correspondance de motifs a l'avantage d'être à la fois incroyablement polyvalent et extrêmement puissant. La structure de données est destructible dynamiquement dans le modèle. Les variables spécifiques à cette expression peuvent ensuite être allouées directement à ces composants.