Кортежи

Кортежи можно деструктурировать с помощью match следующим образом:

fn main() {
    let triple = (0, -2, 3);
    // TODO ^ Поэкспериментируйте со значениями `triple`

    println!("Расскажите мне о {:?}", triple);
    // Для деструктурирования можно использовать match
    match triple {
        // Деструктурируем второй и третий элементы
        (0, y, z) => println!("Первый равен `0`, `y` равен {:?}, а `z` равен {:?}", y, z),
        (1, ..)  => println!("Первый равен `1`, а остальное не важно"),
        (.., 2)  => println!("Последний равен `2`, а остальное не важно"),
        (3, .., 4)  => println!("Первый равен `3`, последний равен `4`, а остальное не важно"),
        // `..` можно использовать, чтобы игнорировать оставшуюся часть кортежа
        _      => println!("Не важно чему они равны"),
        // `_` означает, значение не будет присвоено переменной
    }
}

Смотрите также:

Tuples