typestar

let else en Rust

let else vincula en el camino feliz y obliga a la rama de falla a divergir.

fn parse_port(text: &str) -> u16 {
    let Ok(port) = text.parse::<u16>() else {
        println!("not a port: {text}");
        return 8080;
    };
    port
}

fn main() {
    println!("{}", parse_port("9000"));
    println!("{}", parse_port("http"));
}

Cómo funciona

  1. El bloque else debe retornar, romper o hacer panic.
  2. Después de él, la vinculación queda disponible ya desenvuelta.
  3. Aplana el anidamiento que if let agregaría.

Palabras clave y builtins usados aquí

El intento, en números

Líneas
12
Caracteres a escribir
218
Tokens
77
Ritmo de tres estrellas
85 tpm

Al ritmo de tres estrellas de 85 tokens por minuto, este intento toma unos 54 segundos.

Escribe este fragmento

Paso 6 de 8 en Control de flujo; paso 16 de 39 en Fundamentos del lenguaje.

← Anterior Siguiente →