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
scalecapturafactorpor referencia.- Un closure
mutcaptura y mutacounter. - Los closures se llaman como funciones comunes.
Palabras clave y builtins usados aquí
fni32letmut
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.
Paso 1 de 3 en Closures y fold; paso 6 de 14 en Iteradores y closures.