Desestruturando Matrizes
VocĂȘ pode desestruturar vetores, tuplas e slices combinando seus elementos:
#[rustfmt::skip] fn main() { let triplo = [0, -2, 3]; println!("Fale-me sobre {triplo:?}"); match triplo { [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"), } }
-
Desestruturar slices de tamanho desconhecido Ă© possĂvel utilizando padrĂ”es de tamanho fixo.
fn main() { inspecionar(&[0, -2, 3]); inspecionar(&[0, -2, 3, 4]); } #[rustfmt::skip] fn inspecionar(slice: &[i32]) { println!("Fale-me sobre {slice:?}"); match slice { &[0, y, z] => println!("Primeiro Ă© 0, y = {y}, and z = {z}"), &[1, ..] => println!("Primeiro Ă© 1 e o resto foi ignorado"), _ => println!("Todos os elementos foram ignorados"), } }
-
Crie um novo padrĂŁo usando
_
para representar um elemento. -
Adicione mais valores ao vetor.
-
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]