Bloques
En Rust, un bloque contiene una secuencia de expresiones. Cada bloque tiene un tipo y un valor, que son los de la última expresión del bloque:
fn main() { let x = { let y = 10; println!("y: {y}"); let z = { let w = { 3 + 4 }; println!("w: {w}"); y * w }; println!("z: {z}"); z - y }; println!("x: {x}"); }
Si la última expresión termina con ;
, el tipo y el valor resultante será ()
.
Se utiliza la misma regla para las funciones: el valor del cuerpo de la función es el valor devuelto:
fn double(x: i32) -> i32 { x + x } fn main() { println!("doubled: {}", double(7)); }
Puntos Clave:
- El objetivo de esta diapositiva es mostrar que los bloques tienen un tipo y un valor en Rust.
- Puedes mostrar cómo cambia el valor del bloque cambiando su última línea. Por ejemplo, añade o quita un punto y coma, o utiliza la expresión
return
.