中級 › range end index out of range for slice パニックの原因と直し方 › パターン5
range end index out of range for slice パニックの原因と直し方
配列やVecをスライスする際、範囲の終端が要素数を超えているとパニックします。
1 fn main() { 2 let data = vec![1.1, 2.2, 3.3]; 3 let s = &data[0.._]; ^ 4 println!("{:?}", s); 5 }
thread 'main' panicked at main.rs:3:18:
range end index 6 out of range for slice of length 3
空欄を埋めて実行を通す
要素数を勘違いしてスライスの終端を大きく指定すると、range end index out of rangeでパニックします。
次の問題