Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗rsPmOpVG 308 of 373 menu
◀ ▶

Нет элемента при чтении вектора в 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.

Почему для сомнительного номера лучше не квадратные скобки, а чтение с необязательным ответом?

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить