ve-se (pattern matching)

ve-se (pattern matching)

Pattern matching combina um valor contra vários padrões:

js
cria descrever = (n) => ve-se (n) {
  bateu-com 0: "zero"
  bateu-com 1: "um"
  qualquer-coisa: "muitos"
}

grita-ae(descrever(0))   // zero
grita-ae(descrever(42))  // muitos

Wildcard

O _ também funciona como curinga (ignora o valor):

js
cria rotular = (x) => ve-se (x) {
  bateu-com 0: "nada"
  bateu-com _: "tem coisa"
}

Comparando valores específicos

js
cria verifica = (cor) => ve-se (cor) {
  bateu-com "vermelho": "quente"
  bateu-com "azul": "frio"
  qualquer-coisa: "neutro"
}