Desestruturando
Desestruturação é uma maneira de extrair dados de uma estrutura de dados escrevendo um padrão que é correspondido à estrutura de dados, vinculando variåveis aos subcomponentes da estrutura de dados.
VocĂȘ pode desestruturar matrizes, tuplas e slices combinando seus elementos:
Tuplas
fn main() { describe_point((1, 0)); } fn describe_point(point: (i32, i32)) { match point { (0, _) => println!("no eixo Y"), (_, 0) => println!("no eixo X"), (x, _) if x < 0 => println!("Ă esquerda do eixo Y"), (_, y) if y < 0 => println!("abaixo do eixo X"), _ => println!("primeiro quadrante"), } }
Matrizes
#[rustfmt::skip] fn main() { let triple = [0, -2, 3]; println!("Fale-me sobre {triple:?}"); match triple { [0, y, z] => println!("Primeiro Ă© 0, y = {y} e z = {z}"), [1, ..] => println!("Primeiro Ă© 1 e o resto foi ignorado"), _ => println!("Todos os elementos foram ignorados"), } }
This slide should take about 5 minutes.
- Crie um novo padrĂŁo usando
_
para representar um elemento. - Adicione mais valores Ă matriz.
- Aponte que
..
vai expandir para levar em conta um nĂșmero diferente de elementos. - Mostre correspondĂȘncia com a cauda usando os padrĂ”es
[.., b]
and[a@..,b]