Blocks and Scopes
Blocks
A block in Rust contains a sequence of expressions, enclosed by braces {}. Each block has a value and a type, which are those of the last expression of the block:
1. ```
fn main() {
```
2. ```
let z = 13;
```
3. ```
let x = {
```
4. ```
let y = 10;
```
5. ```
println!("y: {y}");
```
6. ```
z - y
```
7. ```
};
```
8. ```
println!("x: {x}");
```
9. ```
}
```
If the last expression ends with ;, then the resulting value and type is ().
This slide and its sub-slides should take about 5 minutes.
- You can show how the value of the block changes by changing the last line in the block. For instance, adding/removing a semicolon or using a
return.
