Bienvenidos sean a este post, hoy veremos un método de iter.
Este método nos permite unir dos objetos iterables para crear uno nuevo. Veamos su síntaxis:
let objeto = obj_iterable.chain(obj_iterable);
En uno de los objetos aplicamos al método y como argumento pasamos al otro objeto iterable. El resultado devuelto es otro objeto iterable con el cual podremos trabajar directamente. Veamos un ejemlo para entender el concepto. Generen un proyecto nuevo y modifiquen a main.rs de la siguiente manera:
main.rs
fn main() { let v1 = vec!["Hola","Mundo"]; let v2 = vec!["Como","Estan"]; let mut v = v1.iter().chain(v2.iter()); let total = v.clone().count(); for _x in 0..total { println!("{:?}", v.next()); }}
Primero creamos dos colecciones de tipo Vector con unos valores. Lo siguiente es definir al nuevo objeto que será donde asignaremos el resultado devuelto por el método. Las colecciones anteriores no son iterables por lo tanto, debemos convertirlos en tales. Pueden generar dos nuevos objetos o como hicimos en el código. Aplicamos el método iter a cada uno de ellos, antes de usar a chain y cuando pasamos al argumento.
Vamos a obtener el total de elementos en el nuevo objeto mediante count, del cual hablamos en este post, pero le anteponemos un clone. Esto es para que no consuma al nuevo objeto iterable sino una copia o clon de este. Con este valor obtenido, usamos un bucle que contará hasta el valor obtenido anteriormente. En cada pasada, tomamos al objeto generado con el método y le aplicamos un next para que nos muestre el valor actual y pase al siguiente. Como no es un valor que podamos mostrar directamente, usamos al operador de referencia o depuración para mostrar el valor devuelto. Compilemos y veamos como es la salida:
$ cargo run Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.06s Running `target/debug/iterar`Some("Hola")Some("Mundo")Some("Como")Some("Estan")$
Como puueden observar, nos devolvió los valores del nuevo objeto que no es otra cosa que la unión de las dos primeras coleccionnes que definimos.
En resumen, hoy hemos visto a chain, que es, para que sirve, como se utiliza, y también un ejemplo práctico para ver como trabaja. Espero les haya sido de utilidad, sigueme en mis redes para recibir una notificación cuando subo un nuevo post:


Donación
Es para mantenimento del sitio, gracias!
$1.50





