0Pricing
Learn Rust Coding · Lección

Indexar e iterar

Acceda a los elementos y recórralos

Indexar e iterar es una lección gratuita de Learn Rust Coding en CoddyKit. Esta es la lección 2 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Learn Rust Coding, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Learn Rust Coding incluye 4 lecciones en total.

Leer por índice

Cada elemento de un vector tiene un número de posición llamado índice. Los índices empiezan en 0, por lo que el primer elemento está en el índice 0.

Lea un elemento usando corchetes, como en v[0] para obtener el primer valor.

fn main() {
    let v = vec![100, 200, 300];
    println!("first = {}", v[0]);
    println!("third = {}", v[2]);
}

Pánicos por índices fuera de rango

Acceder mediante un índice posterior al final de un vector provoca un pánico y detiene el programa. En un vector de longitud 3, los únicos índices válidos son 0, 1 y 2.

Pedir v[5] en este caso provocaría un fallo, así que asegúrese siempre de que el índice esté dentro del rango.

Acceso seguro con get

El método get devuelve un Option en lugar de provocar un pánico. Obtendrá Some(value) si el índice existe o None si está fuera de rango.

Esto le permite gestionar correctamente la ausencia de un elemento.

fn main() {
    let v = vec![1, 2, 3];
    match v.get(5) {
        Some(x) => println!("got {}", x),
        None => println!("no such index"),
    }
}

Número de elementos

El método len indica el número de elementos. El último índice válido siempre es len - 1.

Conocer la longitud le ayuda a recorrer el vector de forma segura o a comprobar los límites antes de usar un índice.

fn main() {
    let v = vec![5, 6, 7, 8];
    println!("length = {}", v.len());
    println!("last = {}", v[v.len() - 1]);
}

Recorrer valores

La forma más clara de visitar todos los elementos es usar un bucle for sobre una referencia al vector. Usar &v toma prestado el vector para que pueda seguir utilizándolo después.

En cada iteración, n queda asociado a una referencia a uno de los elementos.

fn main() {
    let v = vec![2, 4, 6];
    for n in &v {
        println!("value: {}", n);
    }
}

Recorrer con un índice

Cuando también necesita la posición, llame a iter().enumerate(). En cada paso, produce pares de (index, value).

Es perfecto para mostrar resultados numerados o aplicar reglas que dependan de la posición.

fn main() {
    let v = vec!["a", "b", "c"];
    for (i, item) in v.iter().enumerate() {
        println!("{}: {}", i, item);
    }
}

Modificar cada elemento

Para modificar los valores directamente, recorra &mut v y el vector debe declararse como mut. Cada n es una referencia mutable, por lo que debe quitarle la referencia con * para asignarle un valor.

Aquí se duplica cada elemento.

fn main() {
    let mut v = vec![1, 2, 3];
    for n in &mut v {
        *n *= 2;
    }
    println!("{:?}", v);
}

Sumar un vector

Los iteradores facilitan las operaciones matemáticas. El método iter().sum() suma todos los elementos.

Rust necesita conocer el tipo del resultado, así que anotamos el total como i32.

fn main() {
    let v = vec![10, 20, 30];
    let total: i32 = v.iter().sum();
    println!("sum = {}", total);
}

Primero y último

Los métodos first() y last() devuelven referencias Option a los extremos del vector. Devuelven None cuando el vector está vacío.

Usarlos evita tener que calcular índices manualmente y previene fallos por índices fuera de rango.

fn main() {
    let v = vec![7, 8, 9];
    println!("{:?}", v.first());
    println!("{:?}", v.last());
}

Buscar con contains

Para comprobar si un valor está presente, use contains. Recibe una referencia al valor y devuelve un bool.

Este método recorre el vector y ofrece una forma rápida de comprobar la pertenencia.

fn main() {
    let v = vec![3, 6, 9];
    println!("has 6? {}", v.contains(&6));
    println!("has 5? {}", v.contains(&5));
}

Crear un slice de un rango

Un slice toma prestada parte de un vector mediante un rango, como &v[1..3]. El inicio se incluye y el final se excluye.

Los slices le permiten trabajar con una ventana de elementos sin copiarlos.

fn main() {
    let v = vec![10, 20, 30, 40];
    let middle = &v[1..3];
    println!("{:?}", middle);
}

Comprobación rápida

Compruebe su comprensión de los índices y los iteradores.

Resumen

Ha leído elementos por índice, ha accedido a ellos de forma segura con get y ha recorrido vectores con for, enumerate y &mut.

También ha utilizado sum, first, last, contains y slices. A continuación, aprenderá a hacer crecer y reducir vectores.

Preguntas frecuentes

¿La lección «Indexar e iterar» es gratis?

Sí — el texto completo de «Indexar e iterar» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Learn Rust Coding, actualiza a CoddyKit PRO. El curso de Learn Rust Coding incluye 4 lecciones en total.

¿Qué aprenderé en «Indexar e iterar»?

Acceda a los elementos y recórralos Practicas Learn Rust Coding con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar Learn Rust Coding?

No se requiere experiencia previa. Learn Rust Coding en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 2 de 4.

¿Cuánto tiempo toma la lección «Indexar e iterar»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de Learn Rust Coding?

Sí. Cada lección de Learn Rust Coding incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Crear y rellenar vectores
  2. Indexar e iterar
  3. Aumentar y reducir el tamaño
  4. Vectores de structs
← Volver a Learn Rust Coding