Anuncios

Bienvenidos sean a este post, hoy veremos un método de iter.

Anuncios

Este método nos permite ejecutar un closure por cada elemento iterable. Veamos como es su síntaxis:

objeto_it.for_each(|variable| { ... instrucciones ... });
Anuncios

Se aplica directamente al objeto iterable y como argumento pasaremos el closure para procesar la información del iterador. Muestro como se compone el closure para tenerlo de referencia. La variable irá entre los pipes y se usará principalmente para tomar el valor iterado en ese momento. En el bloque irán todas las instrucciones para ejecutar las acción relacionada. Para entender el concepto vamos a analizar un ejemplo. Para ello, generen un proyecto nuevo y modifiquen a main.rs de la siguiente manera:

main.rs
Rust
fn main() {
let v = vec!["Hola","Mundo","Como","Estan"];
let mut n = 0;
v.iter().for_each(|&x| {
n+=1;
println!("{}) {}", n, x);
});
}
Anuncios
Anuncios

Primero creamos una colección de tipo Vector con cuatro valores. Luego definimos una variable que usaremos más adelante y la iniciamos con el valor de cero. Lo siguiente es ver como trabaja nuestro método. Para ello, convertirmos a la colección en un objeto iterable y le aplicamos el método. Lo primero a realizar es declarar una variable que recibirá el valor de cada pasada del objeto iterable, para poder trabajar con este aplicamos el operador de referencia. Esto es así porque los valores se deben manipular de esta manera. En el bloque incrementamos el valor de n por cada pasada y luego mostramos a este valor y el asignado en x. Compilemos y veamos como es la salida:

$ cargo run
Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.04s
Running `target/debug/iterar`
1) Hola
2) Mundo
3) Como
4) Estan
$
Anuncios

Como mencionamos, este pasa por todos los valores. Esto es así porque no deja de ser un for mejorado donde procesa cada elemento almacenado en el mismo. También podemos omitir las variables del closure pero deben usar al guión bajo (_) entre los pipes.

Anuncios

En resumén, hoy hemos visto a for_each, que es, para que sirve, como se utiliza, y un ejemplo práctico para poder ver como trabaja. Espero les haya sido de utilidad, sigueme en mis redes para recibir una notificación cada vez que subo un nuevo post:

Anuncios

Donación

Es para mantenimento del sitio, gracias!

$1.50