typestar

Closures en Rust

Funciones anónimas que capturan su entorno.

fn main() {
    let factor = 3;
    let scale = |x: i32| x * factor;

    let mut counter = 0;
    let mut bump = || {
        counter += 1;
        counter
    };
    bump();

    let scaled = scale(10);
    println!("{scaled} {}", bump());
}

Cómo funciona

  1. scale captura factor por referencia.
  2. Un closure mut captura y muta counter.
  3. Los closures se llaman como funciones comunes.

Palabras clave y builtins usados aquí

El intento, en números

Líneas
14
Caracteres a escribir
195
Tokens
67
Ritmo de tres estrellas
100 tpm

Al ritmo de tres estrellas de 100 tokens por minuto, este intento toma unos 40 segundos.

Escribe este fragmento

Paso 1 de 3 en Closures y fold; paso 6 de 14 en Iteradores y closures.

← Anterior Siguiente →

Closures en otros lenguajes