Bienvenidos sean a este post, hoy veremos un método de iter.
Este método nos permite obtener el último valor disponible de un objeto iterable. Aunque esto lo hace con dos acciones, la primera es que consume a todo el objeto iterable para conseguirlo, y la segunda es que el valor no es utilizable para usarlo directamente. A que nos referimos con consumirlo? Que pasa por todos los valores y los almacena hasta llegar a un valor none, y en ese caso retiene el último valor. A su vez, ese objeto iterable ya fue utilizado completamente y no se puede volver a usar. Veamos su síntaxis:
let variable = coleccion.iter();assert_eq(variable.last(), Some(valor));
Primero deben generar el objeto iterable, y a ese objeto le aplicamos el método. En este caso, mediante assert_eq evaluamos este valor con algun otro de referencia (por usamos a Some) y este devuelve un true o false depenndiendo de si coincide o no. También podemos hacerlo de la siguiente manera:
assert_eq(coleccion.iter().last(), Some(valor));
Esta es una versión mas resumida por si solo debemos utlizarlo una sola vez, recuerden que déspues de esto ya no se puede usar, pero es una manera más simple de usarlo. Veamos un ejemplo, generen un proyecto nuevo y modifiquen a main.rs de la siguiente manera:
main.rs
fn main() { let v = vec!["Hola","Mundo","Como","Estan"]; let var_it = v.iter(); println!("Ultimo: {:?}", var_it.last());}
Este es un código básico y simple, donde primero crearemos una colección de tipo Vector y le agregaremos cuatro valores. Lo siguiente es crear al objeto iterable, tomando a la colección anterior. Para finalmente, mostrar el valor obtenido del método aplicado al objeto creado anteriormente. Pero antes de ver la salida, observen que pasamos al operador de referencia para println. Esto es así porque como mencionamos anteriormente no devuelve un valor para manejar directamente sino mediante este operador. Ahora si, compilemos y veamos como es la salida:
$ cargo run Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.03s Running `target/debug/iterar`Ultimo: Some("Estan")$
Como pueden observar funcionó perfectamente pero recuerden que este dato es para manipulación interna con otros métodos/funciones.
En resumen, hoy hemos visto last, que es, para que sirve, como se utiliza y un ejemplo práctico para verlo en acción. Espero les haya resultado de utilidad, les dejó mis redes sociales para seguirme o recibir unn notificación cada vez que suba un post:


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





