Adicionando Elementos com push
Parte da seção Logic & Flow do Journey de Rust da Coddy — lição 9 de 66.
Uma vez que você tenha um vetor, muitas vezes desejará adicionar novos elementos a ele. O Rust fornece o método .push() para adicionar elementos ao final de um vetor. Esta é uma das operações mais comuns que você realizará com vetores.
Veja como usar o .push():
let mut numbers = Vec::new();
numbers.push(10);
numbers.push(20);
numbers.push(30);Observe a palavra-chave mut - isso é crucial! Como a adição de elementos altera o conteúdo do vetor, o vetor deve ser declarado como mutável. Sem mut, o Rust não permitirá que você modifique o vetor.
O método .push() sempre adiciona o novo elemento ao final do vetor. Cada chamada para .push() aumenta o comprimento do vetor em um:
let mut fruits = Vec::new();
fruits.push("apple");
fruits.push("banana");
// fruits agora contém ["apple", "banana"]Você também pode começar com um vetor que já possui elementos e continuar adicionando a ele:
let mut scores = vec![85, 92];
scores.push(78); // scores agora é [85, 92, 78]Desafio
FácilVocê receberá três números como entrada, cada um em uma linha separada. Leia esses números, converta-os em inteiros e adicione-os a um vetor usando o método .push(). Após adicionar todos os três números, imprima cada elemento do vetor em uma linha separada.
Requisitos:
- Crie um vetor mutável vazio
- Leia três números da entrada e converta cada um em um inteiro
- Use
.push()para adicionar cada número ao vetor - Imprima cada elemento do vetor em uma linha separada
Entrada: Três inteiros, cada um em uma linha separada
Saída: Imprima cada elemento do vetor em uma linha separada
Folha de consulta
Para adicionar elementos a um vetor, use o método .push(). O vetor deve ser declarado como mutável com a palavra-chave mut:
let mut numbers = Vec::new();
numbers.push(10);
numbers.push(20);
numbers.push(30);O método .push() adiciona elementos ao final do vetor e aumenta seu comprimento em um a cada chamada.
Você também pode adicionar elementos a um vetor que já contém valores:
let mut scores = vec![85, 92];
scores.push(78); // scores agora é [85, 92, 78]Experimente você mesmo
use std::io;
fn main() {
// Leia três números da entrada
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: Escreva seu código abaixo
// Crie um vetor mutável e adicione os números a ele
// Imprima cada elemento do vetor em uma linha separada
}Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Todas as lições de Logic & Flow
1Fluxo de Controle Avançado
A Expressão 'match'Correspondência de Múltiplos ValoresCorrespondência de IntervalosA Expressão 'if let'Loops como ExpressõesRecapitulação - Parser de Comandos Simples4Agrupando Dados com Structs
O que é uma Struct?Visão Geral de StructsAcessando Campos de uma StructStructs MutáveisStructs como Parâmetros de FunçãoTuple StructsRecapitulação - Criando uma Struct Book2Introdução a Vetores
O que é um Vetor?Criando um VetorAdicionando Elementos com pushAcessando Elementos do VetorIterando sobre um VetorIteração MutávelRemovendo ElementosRecapitulação - Rastreador de Pontuação Básico5Pares Chave-Valor com Hash Maps
O que é um Hash Map?Criando um Hash MapInserindo Pares Chave-ValorAcessando ValoresIterando sobre um Hash MapAtualizando um ValorRemovendo um ParRecapitulação - Contador de Palavras8Projeto: Inventário Simples de Itens
Configuração do ProjetoAdicionando um ItemVerificando o EstoqueVendendo um ItemJuntando tudo3Lista de Tarefas via Linha de Comando
Configuração do ProjetoAdicionando uma TarefaVisualizando Todas as TarefasRemovendo uma TarefaCódigo Final