Crear un vector
Parte de la sección Logic & Flow del Journey de Rust de Coddy — lección 8 de 66.
Ahora que entiendes qué son los vectores, aprendamos cómo crearlos. Rust ofrece dos formas principales de crear un vector, cada una adecuada para diferentes situaciones.
El primer método utiliza Vec::new() para crear un vector vacío al que puedes añadir elementos más tarde:
let mut numbers = Vec::new();Observa que usamos mut porque probablemente querremos añadir elementos a este vector vacío más tarde. Rust no siempre puede determinar el tipo de un vector vacío, por lo que es posible que debas especificarlo explícitamente:
let mut numbers: Vec<i32> = Vec::new();El segundo método utiliza la macro vec![] para crear un vector con valores iniciales:
let numbers = vec![1, 2, 3, 4, 5];La macro vec![] es más conveniente cuando conoces los valores iniciales. Rust puede determinar automáticamente el tipo a partir de los valores que proporciones, por lo que no es necesaria ninguna anotación de tipo. Este vector contiene cinco enteros y está listo para usarse inmediatamente.
La macro vec![] también admite una sintaxis de repetición para crear un vector lleno con el mismo valor. Usa vec![value; n] para crear un vector con n elementos, cada uno establecido en value:
let zeros = vec![0; 5]; // [0, 0, 0, 0, 0]
let tens = vec![10; 3]; // [10, 10, 10]Esto es especialmente útil cuando quieres crear un vector de un tamaño específico determinado en tiempo de ejecución, por ejemplo a partir de la entrada del usuario:
let n = 4;
let data = vec![10; n]; // [10, 10, 10, 10]Ambos enfoques crean el mismo tipo de vector: la elección depende de si tienes valores iniciales o si planeas construir el vector gradualmente.
Desafío
FácilRecibirás un número como entrada que representa cuántos elementos debe contener un vector. Lee la entrada, conviértela a un entero y crea un vector con esa cantidad de elementos, donde cada elemento sea el número 10.
Requisitos:
- Lee la entrada y conviértela a un entero
- Crea un vector usando la macro
vec![] - El vector debe contener el número especificado de elementos
- Cada elemento debe tener el valor
10 - Imprime cada elemento en una línea separada
Entrada: Un solo entero que representa el número de elementos
Salida: Imprime cada elemento del vector en una línea separada
Pruébalo tú mismo
use std::io;
fn main() {
// Leer la entrada
let mut input = String::new();
io::stdin().read_line(&mut input).expect("Failed to read line");
let n: usize = input.trim().parse().expect("Invalid input");
// TODO: Escribe tu código debajo
// Crea un vector con n elementos, cada uno con el valor 10
// Imprime cada elemento en una línea separada
}Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Logic & Flow
1Flujo de control avanzado
La expresión 'match'Coincidencia de múltiples valoresCoincidencia de rangosLa expresión 'if let'Bucles como expresionesResumen - Analizador de comandos simple4Agrupando datos con Structs
¿Qué es un Struct?Visión general de los StructsAcceso a los campos de un StructStructs mutablesStructs como parámetros de funcionesStructs de tuplaResumen - Crear un Struct de Libro7Manejo de errores con 'Result'
¿Qué es un 'Result'?Uso de 'match' con 'Result'is_ok() e is_err()Atajos: unwrap y expectEl operador de signo de interrogación '?'Parsing de Strings a númerosResumen - Función de división segura10Closures y funciones anónimas
¿Qué es un Closure?Definir un Closure simpleClosures con parámetrosCapturar el entornoResumen - Closure sumador simple2Introducción a los vectores
¿Qué es un vector?Crear un vectorAñadir elementos con pushAcceder a los elementos de un vectorIterar sobre un vectorIteración mutableEliminar elementosResumen: Rastreador de puntuación básico5Pares clave-valor con Hash Maps
¿Qué es un Hash Map?Crear un Hash MapInsertar pares clave-valorAcceder a los valoresIterar sobre un Hash MapActualizar un valorEliminar un parRepaso: Contador de palabras8Proyecto: Inventario simple de artículos
Configuración del proyectoAgregar un artículoVerificar el stockVender un artículoUniendo todo3Lista de tareas en la línea de comandos
Configuración del proyectoAñadir una tareaVer todas las tareasEliminar una tareaCódigo final