Vetores ou Pedaços

Tal como as tuplas, os vetores e pedaços podem ser desestruturados desta maneira:

fn main() {
// Experimente mudar os valores no vetor, ou torne-o num pedaço!
let array = [1, -2, 6];
match array {
// Vincula o segundo e o terceiro elemento às respetivas variáveis
[0, second, third] =>
println!("array[0] = 0, array[1] = {}, array[2] = {}", second, third),
// Os valores individuais podem ser ignorados com _
[1, _, third] => println!(
"array[0] = 1, array[2] = {} and array[1] was ignored",
third
),
// Nós também podemos vincular alguns e ignorar o resto
[-1, second, ..] => println!(
"array[0] = -1, array[1] = {} and all the other ones were ignored",
second
),
// O código abaixo não compilaria
// [-1, second] => ...
// Ou armazena-os noutro vetor ou pedaço (o tipo depende do
// valor que está sendo comparado)
[3, second, tail @ ..] => println!(
"array[0] = 3, array[1] = {} and the other elements were {:?}",
second, tail
),
// Combinado estes padrões, podemos, por exemplo, vincular os
// primeiros e últimos valores, e armazenar o resto deles num único vetor
[first, middle @ .., last] => println!(
"array[0] = {}, middle = {:?}, array[2] = {}",
first, middle, last
),
}
}
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Consulte também:

Vetores e Pedaços e Vínculo pelo símbolo @