Anuncios

Bienvenidos sean a este post, hoy veremos la forma basica de hacer bucles.

Anuncios

En este post hablamos sobre el bucle for, hemos visto su estructura basica y como trabaja pero hoy hablaremos sobre un bucle mucho mas simple, veamos su sintaxis:

loop
{
	... instrucciones ...
}
Anuncios

Si lo comparamos con el bucle for es mucho mas simple porque simplemente usamos a loop y esto ejecuta infinitamente un bucle, para poder terminarlo debemos propiciar nosotros la condicion, por ejemplo con el condicional if, vamos a tomar el ejemplo que vimos en este post y modifiquemos el codigo de main.rs con el siguiente:

Anuncios
Nota:
Si no lo tienen simplemente generen un nuevo proyecto con el nombre de arreglos
Anuncios

main.rs

fn main() 
{
	let mi_arreglo = ["Lovecraft","Poe","Barker","King"];
	let mut i = 0;

	loop
	{
		if i >= mi_arreglo.len() { break; }
		println!("{}", mi_arreglo[i]);
		i = i + 1;
	}
}
Anuncios
Anuncios

En este caso hicimos un par de modificaciones, la primera fue eliminar al bucle for y reemplazarlo con un loop, pero como dijimos este sera un bucle infinito y en un punto nos quedaremos sin posiciones en el array y nos devolvera un error, para evitar ello creamos una nueva variable llamada i que usaremos para contar cada una de las pasadas y la cual iniciaremos con el valor de cero, en esta seguiremos mostrando cada uno de los elementos mediante el valor de i que iremos incrementando, pero aqui tenemos un condicional donde verificamos si i es mayor o igual al total de elementos de mi_arreglo procede a ejecutar a break, el cual al igual que en otros lenguajes sirve para salir del bloque donde estamos trabajando, esto sera lo que realmente nos logre salir del loop, con todo esto explicado podemos proceder a compilarlo y probarlo para ver su salida:

tinchicus@dbn001vrt:~/lenguajes/rust/bucles$ cargo run
    Finished dev [unoptimized + debuginfo] target(s) in 0.01s
     Running `target/debug/bucles`
Lovecraft
Poe
Barker
King
tinchicus@dbn001vrt:~/lenguajes/rust/bucles$
Anuncios

Como pueden ver tiene su practicidad pero es mas dependiente de nosotros dado que debemos llevar un control para que pueda ver en cual momento debe salir del bucle pero es mas practico para un menu por ejemplo donde una de las opciones sera la que haga salir del bucle y recuerden que estos bucles no se reemplazan entre si que no se complementan y uno puede estar en el otro, en el proximo post veremos un mejor ejemplo.

Anuncios

En resumen, hoy hemos visto a loop, el bucle mas simple de este lenguaje, pero como es el mas simple tambien es mas dependiente de nosotros, dado que nosotros seremos los responsables de que el mismo finalice sino se transformara en un bucle infinito, espero les haya sido util sigueme en tumblr, Twitter o Facebook para recibir una notificacion cada vez que subo un nuevo post en este blog, nos vemos en el proximo post.

Anuncios
pp258

Donación

Es para mantenimento del sitio, gracias!

$1.50