Leyes de Mónadas en Scala en Ubuntu 20.04
Nos aseguramos de que cualquier sucesión de despliegues de las funciones FlatMap y la unidad resulte en una mónada válida si la mónada cumple las tres leyes. En otras palabras, un valor todavía está sujeto a los efectos de la mónada. Una pieza de código completamente reutilizable que resuelve un problema general es lo que las monadas y sus reglas definen como un paradigma de diseño desde la perspectiva de la programación.
Las siguientes tres leyes de mónadas:
Identidad izquierda
Según la identidad de izquierda, invocar la función FlatMap para aplicar una función "F" a un valor "X" que fue planteado por la función de la unidad es idéntico a la aplicación de la función "F" directamente al valor "X":
Monada.Unidad (x).platero (f) = f (x)Identidad correcta
Dice que cuando se usa la función FlatMap y la función de la unidad se usa como la función "F", el resultado es el valor monádico inicial:
X.platera (y => mónada.unidad (y)) = xAsociatividad
De acuerdo con esta regla, el uso de una serie de llamadas de mapas para aplicar dos funciones, "f" y "g", a un valor de mónada es idéntico al uso de "g" para aplicar a la salida de la función platera con "f" como el parámetro.
X.platero (f).platero (g) = o.platero (x => f (x).flapmap (g))Ventajas de las mónadas en Scala en Ubuntu 20.04
Cómo usar Mónadas en Scala en Ubuntu 20.04
Las mónadas se utilizan para contener objetos, y producen las dos funciones correspondientes:
unidad(): Similar a la palabra clave vacía de Java, unit () no devuelve ningún tipo de datos.
mapa plano() :Similar a la función Scala Map (), FlatMap () en su lugar produce una serie de elementos en lugar de un solo componente. Después de aplicar una mapa plana a la secuencia dada, se produce una lista con la agrupación interna eliminada y una secuencia creada. El término "monádico" se refiere a colecciones que pueden admitir tanto plano como mapa.
Ejemplo # 1: Uso de FlatMap y Map para la colección en Scala en Ubuntu 20.04
Ocasionalmente, una mónada le recordará a un contenedor que use una interfaz específica cuando trabaje con sus valores. La monad puede parecerse a una caja con un objeto dentro si lo modelamos nosotros mismos. Podemos recuperar este objeto usando FlatMap y un mapa de funciones más práctico.
A este programa Scala, hemos definido el objeto como "myObject1" como se crea el objeto "myObject1". Ahora, dentro del "MyObject1", hemos implementado la definición de la función principal de Scala. Esta función sirve como punto de partida principal para ejecutar cualquier código SCALA. Dentro de la función principal de Scala, tenemos la declaración de las variables como "L1" y "L2". A estas variables, hemos asignado la "lista" y la "lista" que se inicializará con los cuatro números diferentes, respectivamente.
Luego, tenemos otra variable, "L3" donde hemos aplicado la FlatMapFunction, y dentro de la función FlatMap, hemos invocado la función MAP. Primero, la función de mapa calculó la lista; Posteriormente, el mapa plano evaluó la lista. La lista será generada por la función println a medida que pasemos la variable "L3" porque "L3" tiene una operación de Mónadas.
Tenemos una lista diferente cuando se aplica la función del mapa, pero al final, la lista a continuación se genera después de aplicar la función FlatMap.
Ejemplo # 2: Uso de una mapa plana para eliminar el grupo interno en Scala en Ubuntu 20.04
Hemos explicado la función de FlatMap en el script de Scala mencionado anteriormente con la salida. Ahora, en esta instancia de Scala en particular, hemos eliminado la agrupación interna de las colecciones utilizando la aplicación FlatMap ().
Hemos establecido el objeto Scala como "myObject2". Luego, planteamos la definición del método principal dentro del "myObject2". La definición principal tiene el argumento de la línea de comando para apoyar las funciones de Scala. El método principal se amplía con la declaración de las variables y la operación. Hemos definido las dos variables "P" y "Q" que tienen la lista de números dentro del rango.
Los elementos del conjunto son devueltos como una lista por el método tolist (). Después de eso, aplicamos el mapas y luego la función del mapa, que se invoca dentro de la variable "L3". Primero, la lista se calcula a partir de la operación "I*J". Luego, obtuvimos la lista de la función del mapa. Desde la función platera, solo se evalúa una lista. Todas las listas internas se eliminarán internamente.
Por lo tanto, la lista después de eliminar las colecciones internas se genera a continuación.
Conclusión
Discutimos la idea de las mónadas en Scala en esta guía. Introdujimos el conjunto mínimo de métodos que una mónada debe realizar después de ofrecer una breve definición de mónadas, que incluía la unidad y el mapa plano. Discutimos las tres leyes de mónadas por último. La biblioteca estándar de Scala tiene una amplia variedad de tipos que están influenciados por la idea interesante y práctica de las monadas. Los tipos de colección de listas, árboles y mapa, por mencionar algunas, así como la opción, el futuro, y cualquiera de los dos son mónadas.