mirror of
https://github.com/google/comprehensive-rust.git
synced 2025-04-24 16:42:36 +02:00
Add speaker notes for pattern-matching/destructuring-arrays.md (#346)
This commit is contained in:
parent
413098cdac
commit
c3e3dc6020
@ -5,3 +5,26 @@ You can destructure arrays, tuples, and slices by matching on their elements:
|
|||||||
```rust,editable
|
```rust,editable
|
||||||
{{#include ../../third_party/rust-by-example/destructuring-arrays.rs}}
|
{{#include ../../third_party/rust-by-example/destructuring-arrays.rs}}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
<details>
|
||||||
|
|
||||||
|
Destructuring of slices of unknown length also works with patterns of fixed length.
|
||||||
|
|
||||||
|
```rust,editable
|
||||||
|
fn main() {
|
||||||
|
inspect(&[0, -2, 3]);
|
||||||
|
inspect(&[0, -2, 3, 4]);
|
||||||
|
}
|
||||||
|
|
||||||
|
#[rustfmt::skip]
|
||||||
|
fn inspect(slice: &[i32]) {
|
||||||
|
println!("Tell me about {slice:?}");
|
||||||
|
match slice {
|
||||||
|
&[0, y, z] => println!("First is 0, y = {y}, and z = {z}"),
|
||||||
|
&[1, ..] => println!("First is 1 and the rest were ignored"),
|
||||||
|
_ => println!("All elements were ignored"),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
</details>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user