1
0
mirror of https://github.com/google/comprehensive-rust.git synced 2025-03-21 22:49:44 +02:00

Speaker notes for Method example (#203)

* Speaker notes for Method example

* Update example.md
This commit is contained in:
Charisee Chiw 2023-01-23 03:53:33 -08:00 committed by GitHub
parent 94ed176761
commit be2bb2d4c5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -39,3 +39,14 @@ fn main() {
race.finish();
}
```
<details>
Key Points:
* All four methods here use a different method receiver.
* You can point out how that changes what the function can do with the variable values and if/how it can be used again in `main`.
* You can showcase the error that appears when trying to call `finish` twice.
* Note, that although the method receivers are different, the non-static functions are called the same way in the main body. Rust enables automatic referencing and dereferencing when calling methods. Rust automatically adds in the `&`, `*`, `muts` so that that object matches the method signature.
* You might point out that `print_laps` is using a vector that is iterated over. We describe vectors in more detail in the afternoon.
</details>