Нет элемента при чтении вектора в Rust
Квадратные скобки по-прежнему требуют
существующий номер и при ошибке останавливают
выполнение. Команда get по номеру отдает необязательное значение:
заполненный вариант с ссылкой на элемент
или пустой, если номер за границей списка.
Чтение вектора по номеру может вернуть пусто, и программа при этом не останавливается:
let nums = vec![10, 20, 30];
let ok = nums.get(1);
let miss = nums.get(5);
println!("{:?}", ok);
println!("{:?}", miss);
Для существующего номера в ответе заполненный вариант, для чужого - пустой. Дальше можно разобрать ответ или подставить запас:
let nums = vec![4, 5];
let item = nums.get(0).unwrap_or(&0);
println!("{}", item);
Дан следующий вектор:
let nums = vec![1, 2, 3];
Прочитайте элемент с номером 1
безопасной командой и выведите ответ
через {:?}.
Дан следующий вектор:
let nums = vec![7, 8];
Скажите, пустой или заполненный вариант
вернется при чтении по номеру 4.
Почему для сомнительного номера лучше не квадратные скобки, а чтение с необязательным ответом?