Menu
Coddy logo textTech

Métodos de arrays

Parte de la sección Fundamentals del Journey de Rust de Coddy. Lección 61 de 75.

Los arrays están repletos de muchos métodos (funcionalidades). Para acceder a un método, escribe:

array.methodName(otherParameters)

Aquí hay una lista de los métodos básicos:

  • len() - devuelve el número de elementos en el array
  • contains(value) - comprueba si el array contiene un valor específico
  • is_empty() - comprueba si el array está vacío
  • reverse() - Invierte el array

Por ejemplo:

let numbers = [10, 20, 30, 40, 50];
let length = numbers.len();
println!("Length: {}", length);

numbers.reverse();
// [50, 40, 30, 20, 10]

Ejemplo del método is_empty():

let numbers: [i32; 0] = [];
let empty = numbers.is_empty();
println!("Is empty: {}", empty);

Esto mostrará:

Is empty: true

Al usar contains, necesitas pasar una referencia al valor que estás buscando usando &. Por ejemplo:

let numbers = [10, 20, 30, 40, 50];
let has_thirty = numbers.contains(&30);
println!("Contains 30: {}", has_thirty);
// Salida: Contains 30: true
challenge icon

Desafío

Fácil

Crea una función llamada analyze_array que reciba un array de cadenas de tamaño 5 como argumento. El método debe realizar las siguientes operaciones:

  1. Comprueba si el array está vacío utilizando el método is_empty() e imprime el resultado.
  2. Comprueba si el array contiene la cadena "5" utilizando el método contains() e imprime el resultado. Recuerda usar String y no str: "5".to_string()
  3. Invierte el array e imprímelo

La salida debe seguir este formato exacto:

Is empty: [true or false]
Contains 5: [true or false]
Reversed Elements:
[element1]
[element2]
...

Pruébalo tú mismo

use std::io;
use std::convert::TryInto;

fn analyze_array(arr: &mut [String; 5]) {
    // Escribe el código aquí




    // Imprime los elementos línea por línea
    for element in arr.iter() {
        println!("{}", element);
    }
}

fn main() {
    let mut input_str_arr = String::new();
    io::stdin().read_line(&mut input_str_arr).unwrap();
    let mut arr: [String; 5] = input_str_arr.split(',').map(String::from).collect::<Vec<String>>().try_into().unwrap();
    analyze_array(&mut arr);
}
quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Fundamentals

Practica por tu cuenta: Compilador de Rust online