配列/スライス
タプルと同様に、配列とスライスは次のように分配束縛できます。
fn main() { // 配列内の値を変更したり、スライスにしたりしてみてください! let array = [1, -2, 6]; match array { // 2 番目と 3 番目の要素をそれぞれの変数に束縛します [0, second, third] => println!("array[0] = 0, array[1] = {}, array[2] = {}", second, third), // 単一の値は _ で無視できます [1, _, third] => println!( "array[0] = 1, array[2] = {}、array[1] は無視されました", third ), // 一部を束縛し、残りを無視することもできます [-1, second, ..] => println!( "array[0] = -1, array[1] = {}、その他すべては無視されました", second ), // 以下のコードはコンパイルされません // [-1, second] => ... // または、それらを別の配列/スライスに格納できます(型は // マッチ対象の値の型によって決まります) [3, second, tail @ ..] => println!( "array[0] = 3, array[1] = {}、他の要素は {:?} です", second, tail ), // これらのパターンを組み合わせることで、たとえば、最初と最後の値を // 束縛し、残りを単一の配列に格納できます [first, middle @ .., last] => println!( "array[0] = {}, middle = {:?}, array[2] = {}", first, middle, last ), } }