Coincidencia de patrones de Scala

Coincidencia de patrones de Scala
El lenguaje Scala tiene una característica potente llamada Pattern Matching. Hace que el código sea más corto y más fácil de leer al tiempo que permite la comparación de elementos con patrones complicados. Es un método para comparar un valor con un patrón. Es comparable a las declaraciones de Switch de Java y C. En este tema, aprenderemos las técnicas generales de coincidencia de patrones y cómo pueden usarse para nuestra ventaja.

En lugar de usar una instrucción Switch, la palabra clave "coincidir" se utiliza aquí. La palabra "coincidencia" se declara constantemente en la clase raíz de Scala para garantizar que todos los objetos puedan acceder a ella. Un patrón y una o más expresiones se incluyen en cada declaración de caso. Solo se evalúan si el patrón declarado coincide. El carácter de flecha (=>) se emplea para diferenciar el patrón de las expresiones.

Componentes de la coincidencia de patrones en Scala

Las expresiones de coincidencia están compuestas de varios componentes:

    1. "Candidato" se refiere al valor que usamos para que coincidan con los patrones.
    2. La palabra clave "coincidir".
    3. El código se ejecuta cuando el patrón coincide, el patrón, la palabra clave del caso y un símbolo de flecha constituyen muchas cláusulas de casos.
    4. Una declaración predeterminada en ausencia de una coincidencia de patrón. Debido a que contiene el símbolo de subrayamiento (_) y viene después de las cláusulas del caso, la cláusula predeterminada puede identificarse fácilmente.

Veamos un ejemplo directo para demostrar esos elementos:

Ejemplo 1: Combinación de patrones del tipo "INT" en Scala

Como coincidencia de patrón, un ejemplo requiere un valor entero y también devuelve un entero. No se pueden pasar ningún parámetros que no sean enteros. Hacerlo resulta en una falla.


Dentro del script Scala, establecimos el objeto como "my_object" con el modificador de objeto Scala. Contiene el método principal que utiliza la println para mostrar la declaración. En el método println, invocamos el método de prueba. El método de prueba toma el parámetro de tipo entero "1". A continuación, tenemos un método de enfoque funcional donde definimos el método de prueba. El método de prueba toma la variable "I" del tipo "INT".

Establecemos la palabra clave "coincidir" con la variable "i". Dentro de la sección del bloque, se utilizan las declaraciones del caso. Tenemos tres casos aquí que devuelven la expresión sobre el caso satisfactorio. La expresión incluida en un caso se evalúa si el valor de "i" coincide con cualquiera de los casos. Desde que logramos el éxito en este primer intento, se evalúa el caso 1. Si el valor de "i" no es 0 o 1, se lleva a cabo el caso predeterminado que es "case_".

Guardamos el programa Scala mencionado anteriormente en el "ejemplo.Archivo de Scala ". Luego, ejecutamos el programa Scala con el nombre del objeto que ha dado en el script. Aquí tenemos "my_object". Ejecutamos este objeto con la palabra clave Scala. Como puede ver, la expresión del caso 1 se obtiene porque coincidía con el patrón.

Ejemplo 2: coincidencia de patrones de tipo "cadena" en Scala

Cada objeto en Scala tiene un tipo estático que no se puede modificar porque es un lenguaje escrito. Un objeto de la cadena tipo, por ejemplo, solo puede tener las expresiones de cadena. Como se ve en la siguiente ilustración, Scala hace que sea fácil comparar los objetos con los patrones de tipo.


Comience por construir el objeto del script de Scala anterior. Al objeto se le asigna el nombre "Linux_Object". Dentro del cuerpo de ese objeto, tenemos la definición de la función principal. El método println se invoca dentro de la definición de la función principal, donde llamamos al método de prueba y pasamos el parámetro de cadena "saeed". Después de eso, tenemos una función de prueba donde se declara la variable "x" de la cadena de tipo.

Asignamos el modificador de coincidencia a esta variable "x" para un patrón de coincidencia de los casos. Dentro del bloque del método de prueba, se proporcionan tres casos con las expresiones. Aquí, el caso con el comodín "_" se ejecuta porque ningún patrón coincide con la secuencia "x".

El script de Scala se compila con el modificador Scala y el nombre del objeto "Linux_object" del programa anterior. La salida obtenida tiene la expresión "Caso predeterminado ejecutado" del "case_".

Ejemplo 3: Combinación de patrones de clases de casos en Scala

Las clases de casos son clases únicas que se utilizan en la coincidencia de patrones basado en la expresión del caso. Estas son clases convencionales con la caja del modificador especial. El ejemplo que sigue es una ilustración simple de la coincidencia de patrones que usa la clase de casos:


Al definir el objeto "my_demo", comenzamos este script de Scala. Dentro del cuerpo del objeto "my_demo", tenemos una definición de método principal. Aquí, declaramos las tres variables: "Cyan", "Dora" y "Marrie", con la palabra clave "Val". Las variables llamadas clase "persona" con la nueva palabra clave y establecen los valores en cada variable. Los valores pasados ​​a la clase "persona" son los valores de cadena y el valor entero. Luego, iteramos a través de la lista de las variables "Cyan", "Dora" y "Marrie" utilizando el bucle for bucle y utilizamos las expresiones del caso con el constructor del método "persona" al dar los valores dando los valores.

La variable "cian" es la expresión coincidente en el primer caso, el nombre "dora" es la expresión coincidente en el segundo caso, y para cualquier otro valor, los detalles se muestran según lo dispuesto en el último caso. Los parámetros p_name y p_age se dan al constructor de personas para uno vacío. Por último, pero no menos importante, la persona de la clase está vacía porque ningún método debe definirse dentro de él.

Cuando se ejecuta el script de Scala anterior, muestra todas las expresiones de coincidencia de patrones de la caja.

Conclusión

Este es un manual para la coincidencia de patrones Scala. Se mejora la coincidencia de patrones en Scala que cambiar en Java. La palabra clave de coincidencia se utiliza para que coincida con la entrada que se ha proporcionado en Scala. Aquí, superamos una breve introducción a la funcionalidad de coincidencia de patrones de Scala, junto con la sintaxis adecuada y los ejemplos relevantes. La coincidencia de patrones tiene el beneficio de ser increíblemente versátil y extremadamente poderoso. La estructura de datos es dinámicamente destructible dentro del patrón. Las variables que son específicas de esta expresión se pueden asignar directamente a esos componentes.