0

Tipo Lambda/Função – O que você precisa saber disso para resolver os bugs do seu sistema

#Kotlin
Miguel Júnior
Miguel Júnior

No paradigma funcional e/ou multiparadigma, toda vez que você encontrar no seu sistema algo semelhante ao que estiver escrito abaixo:


Entenda que a variável resultado possui um tipo de dado Lambda/Função.

Vamos descomplicar os detalhes desse tipo de dado:



(String) é o parâmetro de entrada do tipo de dado e Unit é parâmetro de saída deste tipo de dado.


Outros casos mais conhecidos onde o tipo Lambda/Função aparecerá em seu código são: devolvendo funções, passada como argumento.


Passando como argumento


Observe na função operacaoMatematica faz qualquer operação simples de matemática, temos o argumento x do tipo Int e número do tipo Função/Lambda. Neste segundo argumento, pode ser feito qualquer coisa desde que obedeça a regra (Int) → Int


Devolvendo Funções


Note na função reversi, tem por finalidade de realizar a operação de inversão um texto. Ao chamar a rotina reversi na atribuição da variável resultado, o tipo de dado é (String) → String.

Quando usar a variável resultado, feito no exemplo acima, ele executará a instrução feita na rotina reversi


Bons estudos a todos.

Até a próximo artigo

4
35

Comentários (4)

0
Deyvson Aguiar

Deyvson Aguiar

24/03/2021 20:41

Muito bom cara! Adorei a dica! Muito útil pra quem ta programando em kotlin mesmo!

0
Marcelo Alves

Marcelo Alves

24/03/2021 19:09

Ótimo artigo Miguel👏

1
Carlos Silva

Carlos Silva

21/02/2021 17:34

Obrigado pelas explicações, Miguel!


Eu ainda não comecei o bootcamp de Kotlin, estou terminando outro curso por aqui. E uma coisa que o Kotlin me lembra bastante é a linguagem Haskell (para quem ainda não conhece, Haskell é uma linguagem puramente funcional).


Os dois pontos depois do nome da variável indicam o tipo de dados (em Haskell, se usam dois dois pontos ::). Quando o tipo de dados é indicado por lambda significa que a variável é uma função.


Em Haskell (e em Java também) é possível criar lambdas com "mais de uma seta". Algo do tipo x -> y -> x + y. Não sei se em Kotlin também, mas parece ser bem provável. Mas não se assustem, essa é uma forma de representar uma função com mais de um parâmetro (um conceito chamado Currying).


Outro ponto interessante é o uso do tipo de dados Unit em Kotlin para representar a "ausência" de retorno numa função. Eu vi algo assim em Haskell, por coincidência há uma tipo de dados chamado tipo unidade, sendo esse tipo de dados representado nessa linguagem pelo símbolo ( ) , isso mesmo um par de parênteses. A razão para esse tipo de dados, acredito, se deve ao fato de que todas as funções devem ter algum retorno em uma linguagem funcional. Ou seja, não existiriam funções sem retorno, ou funções sem parâmetros. E para representar esses casos, usa-se o Unit.

1
Isaias Bueno

Isaias Bueno

21/02/2021 15:30

Excelente Artigo Miguel! Parabéns! Muito obrigado por compartilhar esse conhecimento.

O melhor professor do seu aprendizado é o erro.

Brasil