Ruby · Avançado · Português · Técnico
operador pin
Operador ^ do pattern matching que compara com o valor de uma variável existente, em vez de criar uma ligação nova. Aceita expressões entre parênteses, como ^(x + 1).
Onde usar
Aparece em case e in quando o padrão deve casar com algo já conhecido, como o id atual. Sem o ^, o nome vira uma variável nova que casa com qualquer valor.
Em código
esperado = 5
case 5
in ^esperado then puts "igual"
end
case 7
in ^(esperado + 2) then puts "sete"
endExemplos
Use o operador pin para casar com o valor da variável, não criar outra.
Sem o operador pin, esse padrão casa com qualquer coisa.
Cuidado
Não é o XOR bit a bit de inteiros; no padrão, o ^ apenas fixa um valor já existente.
Sinônimos
pin