typestar

Desestructuración en Rust

Los patrones desarman structs, tuplas y valores anidados en una sola vinculación.

struct Point {
    x: i32,
    y: i32,
}

struct Line {
    from: Point,
    to: Point,
}

fn main() {
    let a = Point { x: 0, y: 0 };
    let b = Point { x: 3, y: 4 };
    let Line { from: Point { x, y }, to } = Line { from: a, to: b };
    println!("from {x},{y} to {},{}", to.x, to.y);

    let (first, .., last) = (1, 2, 3, 4);
    println!("{first} {last}");
}

Cómo funciona

  1. La forma corta de campo vincula un campo a una variable homónima.
  2. Los patrones anidados llegan a un struct dentro de otro struct.
  3. .. ignora las partes que no nombraste.

Palabras clave y builtins usados aquí

El intento, en números

Líneas
19
Caracteres a escribir
327
Tokens
125
Ritmo de tres estrellas
85 tpm

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

Escribe este fragmento

Paso 4 de 4 en Valores compuestos; paso 10 de 39 en Fundamentos del lenguaje.

← Anterior Siguiente →