Utilizando comparação de padrões (Pattern Matching)
Last updated
Last updated
Comparação (ou correspondência) de padrões, do inglês pattern matching é um dos conceitos fundamentais da programação funcional.
Este conceito pode substituir uma série de desvios de fluxo de código, tais como:
Comparações If-else
Switch-cases
Laços de repetição (for, foreach, while e do)
Comparação de tipos
Um pattern matching na linguagem F# para substituir uma comparação de If, possui uma sintaxe similar à:
Mas podemos realizar comparações entre diferentes padrões, veja um exemplo com um valor inteiro:
Existem uma série de benefícios com a utilização do pattern matching, tanto que, a partir da versão 7.0 do C# é possível utilizarmos esta funcionalidade nativamente na linguagem, conforme documentação da .
Como implementação na biblioteca Tango alguns tipos de objetos possuem um método chamado Match
.
Este método espera por parâmetros funções (Métodos ou expressões lambdas) para os possíveis padrões de acordo com cada tipo.
Além dele, também há a implementação de um segundo método chamado Match2
, este método é similar ao primeiro, mas neste caso o padrão é aplicado sobre dois valores diferentes do mesmo tipo ao invés de apenas um valor.