中級 › range end index out of range for slice パニックの原因と直し方 › パターン4
range end index out of range for slice パニックの原因と直し方
配列やVecをスライスする際、範囲の終端が要素数を超えているとパニックします。
1 fn main() { 2 let names = vec!["a", "b", "c"]; 3 let s = &names[1.._]; ^ 4 println!("{:?}", s); 5 }
thread 'main' panicked at main.rs:3:19:
range end index 7 out of range for slice of length 3
空欄を埋めて実行を通す
存在する分だけ切り取ってくれるような寛容な動作はせず、範囲が不正なら即座にパニックします。
次の問題