Чужой номер элемента в Rust
Номер элемента должен попадать в диапазон от нуля до последней ячейки. Если в скобках указать число за пределами массива, выполнение программы на этом месте прекращается.
Компилятор не всегда ловит такую ошибку заранее. Константный номер за границей может быть замечен при сборке, а номер из переменной проверяют уже при запуске.
У массива из трех ячеек допустимы номера
0, 1 и 2. Обращение
к номеру 3 не дает результата:
let nums = [10, 20, 30];
println!("{}", nums[3]);
Тот же итог, если длина три, а в скобках большое число:
let data = [1, 2, 3];
println!("{}", data[10]);
Дан следующий массив:
let row = [5, 6];
Скажите, какой наибольший допустимый
номер ячейки в row.
Дан следующий код:
let vals = [1, 2, 3];
println!("{}", vals[3]);
Скажите, дойдет ли программа до конца при запуске.
Дан следующий массив:
let one = [42];
Скажите, сколько разных номеров ячеек можно использовать без остановки программы.