Leis de Mônadas em Scala no Ubuntu 20.04
Garantimos que qualquer sucessão de implantações das funções de mapa plana e unidade resulte em uma mônada válida se a mônada cumprir as três leis. Em outras palavras, um valor ainda está sujeito aos efeitos da mônada. Uma peça de código completamente reutilizável que resolve uma questão geral é o que as mônadas e suas regras definem como um paradigma de design da perspectiva da programação.
As três leis seguintes da Monad:
Identidade esquerda
De acordo com a identidade esquerda, invocando a função FlatMap para aplicar uma função "f" a um valor "x" que foi levantado pela função da unidade é idêntica à aplicação da função "F" direto ao valor "X":
Mônada.unidade (x).Flatmap (f) = f (x)Identidade correta
Ele diz que quando a função de mapa plana é usada e a função da unidade é usada como a função "f", o resultado é o valor monádico inicial:
x.Flatmap (y => Monad.unidade (y)) = xAssociatividade
De acordo com esta regra, o uso de uma série de chamadas de mapa plana para aplicar duas funções: "F" e "G", a um valor de Monad é idêntico ao uso de "G" para se aplicar à saída da função plana com "F" como o parâmetro.
x.Flatmap (F).Flatmap (G) = O.Flatmap (x => f (x).Flapmap (G))Vantagens de Mônadas em Scala no Ubuntu 20.04
Como usar mônadas em Scala no Ubuntu 20.04
Mônadas são usadas para conter objetos e produzem as duas funções correspondentes:
unidade(): Semelhante à palavra -chave vazia de Java, a unidade () não retorna nenhum tipo de dados.
Flatmap ():Semelhante ao mapa de função scala (), Flatmap () produz uma série de elementos em oposição a um único componente. Depois de aplicar um mapa plano à sequência fornecida, uma lista é produzida com o agrupamento interno eliminado e uma sequência criada. O termo "Monadic" refere -se a coleções que podem suportar o Flatmap e o mapa.
Exemplo # 1: Usando Flatmap e Mapa para a coleção em Scala no Ubuntu 20.04
Ocasionalmente, uma mônada lembra um contêiner de usar uma interface específica ao trabalhar com seus valores. Monad pode se parecer com uma caixa com um objeto dentro se nós o modelarmos. Podemos recuperar esse objeto usando o Flatmap e mais um mapa de funções práticas.
Para este programa Scala, definimos o objeto como "myObject1" como o objeto "myObject1" é criado. Agora, dentro do "MyObject1", implementamos a definição da função principal do Scala. Esta função serve como o principal ponto de partida para executar qualquer código Scala. Dentro da principal função do Scala, temos a declaração das variáveis como "L1" e "L2". Para essas variáveis, atribuímos a "lista" e a "lista" a ser inicializada com os quatro números diferentes, respectivamente.
Em seguida, temos outra variável, "L3", onde aplicamos a função plana e, dentro da função FlatMap, invocamos a função do mapa. Primeiro, a função de mapa calculou a lista; depois, o Flatmap avaliou a lista. A lista será gerada pela função Println à medida que passamos a variável "L3" porque "L3" tem uma operação de Mônadas.
Temos uma lista diferente quando a função do mapa é aplicada, mas no final, a lista abaixo é gerada após a aplicação da função de mapa plana.
Exemplo # 2: Usando um FlatMap para remover o grupo interno em Scala no Ubuntu 20.04
Explicamos a função do Flatmap no script Scala mencionado acima com a saída. Agora, nesta instância em particular, removemos o agrupamento interno das coleções usando o aplicativo Flatmap ().
Nós estabelecemos o objeto Scala como "MyObject2". Em seguida, aumentamos a definição principal do método dentro do “myObject2”. A definição principal tem o argumento da linha de comando para apoiar as funções da Scala. O método principal é expandido com a declaração das variáveis e operação. Definimos as duas variáveis "P" e "Q" que têm a lista de números dentro do intervalo.
Os elementos do conjunto são devolvidos como uma lista pelo método Tolist (). Depois disso, aplicamos o FlatMap e, em seguida, a função do mapa, que é invocada dentro da variável "L3". Primeiro, a lista é calculada a partir da operação "i*j". Então, obtemos a lista da função do mapa. A partir da função de mapa plana, apenas uma lista é avaliada. Todas as listas internas serão removidas internamente.
Portanto, a lista após a remoção das coleções internas é gerada como abaixo.
Conclusão
Discutimos a idéia de mônadas em Scala neste guia. Introduzimos o conjunto mínimo de métodos que uma mônada deve executar após oferecer uma breve definição de mônadas, que incluía a unidade e o plangmap. Discutimos as três leis de mônada finalmente. A Biblioteca Padrão Scala tem uma grande variedade de tipos que são todos influenciados pela idéia interessante e prática de Mônadas. Os tipos de coleta de listas, árvores e mapa, para mencionar alguns, assim como a opção, o futuro, e qualquer um, são todos mônados.