Crear un vector
Parte de la sección Lógica y Flujo del Journey de Rust de Coddy. Lección 8 de 66.
Ahora que entiendes qué son los vectores, aprendamos a crearlos. Rust ofrece dos formas principales de crear un vector, cada una adecuada para distintas situaciones.
El primer método usa Vec::new() para crear un vector vacío al que puedes añadir elementos más adelante:
let mut numbers = Vec::new();Ten en cuenta que usamos mut porque probablemente querremos añadir elementos a este vector vacío más adelante. Rust no siempre puede determinar el tipo de un vector vacío, así que quizá tengas que especificarlo explícitamente:
let mut numbers: Vec<i32> = Vec::new();El segundo método usa la macro vec![] para crear un vector con valores iniciales:
let numbers = vec![1, 2, 3, 4, 5];La macro vec![] es más práctica cuando conoces los valores iniciales. Rust puede determinar automáticamente el tipo a partir de los valores que proporcionas, así que no se necesita ninguna anotación de tipo. Este vector contiene cinco números enteros y está listo para usarse de inmediato.
La macro vec![] también admite una sintaxis de repetición para crear un vector lleno del 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 resulta 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 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 en 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 en un entero
- Crea un vector usando la macro
vec![] - El vector debe contener la cantidad especificada de elementos
- Cada elemento debe tener el valor
10 - Imprime cada elemento en una línea distinta
Entrada: Un único entero que representa el número de elementos
Salida: Imprime cada elemento del vector en una línea distinta
Pruébalo tú mismo
use std::io;
fn main() {
// Lee 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 a continuación
// 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 Lógica y Flujo
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 finalPractica por tu cuenta: Compilador de Rust online