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