Menu
Coddy logo textTech

Добавление элементов с помощью push

Часть раздела Logic & Flow путешествия по Rust на Coddy — урок 9 из 66.

Как только у вас появится вектор, вам часто захочется добавлять в него новые элементы. Rust предоставляет метод .push() для добавления элементов в конец вектора. Это одна из самых распространенных операций, которые вы будете выполнять с векторами.

Вот как использовать .push():

let mut numbers = Vec::new();
numbers.push(10);
numbers.push(20);
numbers.push(30);

Обратите внимание на ключевое слово mut — это крайне важно! Поскольку добавление элементов изменяет содержимое вектора, вектор должен быть объявлен как изменяемый. Без mut Rust не позволит вам изменять вектор.

Метод .push() всегда добавляет новый элемент в конец вектора. Каждый вызов .push() увеличивает длину вектора на единицу:

let mut fruits = Vec::new();
fruits.push("apple");
fruits.push("banana");
// теперь fruits содержит ["apple", "banana"]

Вы также можете начать с вектора, в котором уже есть элементы, и продолжить добавлять в него новые:

let mut scores = vec![85, 92];
scores.push(78); // теперь scores содержит [85, 92, 78]
challenge icon

Задание

Легко

Вы получите три числа на вход, каждое на отдельной строке. Прочитайте эти числа, преобразуйте их в целые числа и добавьте их в вектор с помощью метода .push(). После добавления всех трех чисел выведите каждый элемент вектора на отдельной строке.

Требования:

  • Создайте пустой изменяемый вектор
  • Прочитайте три числа из входных данных и преобразуйте каждое в целое число
  • Используйте .push(), чтобы добавить каждое число в вектор
  • Выведите каждый элемент вектора на отдельной строке

Ввод: Три целых числа, каждое на отдельной строке

Вывод: Выведите каждый элемент вектора на отдельной строке

Шпаргалка

Чтобы добавить элементы в вектор, используйте метод .push(). Вектор должен быть объявлен как изменяемый с помощью ключевого слова mut:

let mut numbers = Vec::new();
numbers.push(10);
numbers.push(20);
numbers.push(30);

Метод .push() добавляет элементы в конец вектора и увеличивает его длину на единицу при каждом вызове.

Вы также можете добавлять элементы в вектор, который уже содержит значения:

let mut scores = vec![85, 92];
scores.push(78); // теперь scores равен [85, 92, 78]

Попробуйте сами

use std::io;

fn main() {
    // Считать три числа из ввода
    let mut input1 = String::new();
    io::stdin().read_line(&mut input1).expect("Failed to read line");
    let num1: i32 = input1.trim().parse().expect("Invalid input");
    
    let mut input2 = String::new();
    io::stdin().read_line(&mut input2).expect("Failed to read line");
    let num2: i32 = input2.trim().parse().expect("Invalid input");
    
    let mut input3 = String::new();
    io::stdin().read_line(&mut input3).expect("Failed to read line");
    let num3: i32 = input3.trim().parse().expect("Invalid input");
    
    // TODO: Напишите свой код ниже
    // Создайте изменяемый вектор и добавьте в него числа
    
    
    // Выведите каждый элемент вектора на отдельной строке
}
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Logic & Flow