Correspondencia de Patrones

La palabra clave match te permite comparar un valor con uno o varios patrones. Las comparaciones se hacen de arriba abajo y el primero que coincida gana.

Los patrones pueden ser valores simples, del mismo modo que switch en C y C++:

fn main() {
    let input = 'x';

    match input {
        'q'                   => println!("Quitting"),
        'a' | 's' | 'w' | 'd' => println!("Moving around"),
        '0'..='9'             => println!("Number input"),
        _                     => println!("Something else"),
    }
}

_ es un patrón comodín que coincide con cualquier valor.

Puntos Clave:

  • Puedes señalar cómo se usan algunos caracteres concretos en un patrón
    • | como or,
    • .. se puede ampliar tanto como sea necesario.
    • 1..=5 representa un intervalo inclusivo.
    • _ es un comodín.
  • Puede ser útil para mostrar cómo funciona un enlace, por ejemplo, cambiando un carácter comodín por una variable o quitando las comillas alrededor de q.
  • Puedes mostrar la coincidencia con una referencia.
  • Este puede ser un buen momento para mencionar el concepto de patrones irrefutables, ya que el término puede aparecer en mensajes de error.