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
- El bloque
elsedebe retornar, romper o hacer panic. - Después de él, la vinculación queda disponible ya desenvuelta.
- Aplana el anidamiento que
if letagregaría.
Palabras clave y builtins usados aquí
Okelsefnletreturnstru16
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.
Paso 6 de 8 en Control de flujo; paso 16 de 39 en Fundamentos del lenguaje.