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 arraycontains(value)- comprueba si el array contiene un valor específico
is_empty()- comprueba si el array está vacíoreverse()- 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: trueAl usar contains, debes 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: trueDesafío
FácilCrea 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:
- Comprueba si el array está vacío utilizando el método
is_empty()e imprime el resultado. - Comprueba si el array contiene la cadena
“5”utilizando el métodocontains()e imprime el resultado. Recuerda usar String y no str:“5”.to_string() - 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]
...Hoja de referencia
Los arreglos tienen métodos integrados a los que se accede con la notación de punto:
array.methodName(otherParameters)Métodos básicos de arreglos:
len()- devuelve el número de elementoscontains(value)- comprueba si el arreglo contiene un valor específicois_empty()- comprueba si el arreglo está vacíoreverse()- invierte el arreglo
Ejemplos:
let numbers = [10, 20, 30, 40, 50];
let length = numbers.len();
let has_thirty = numbers.contains(&30);
let empty = numbers.is_empty();
numbers.reverse(); // [50, 40, 30, 20, 10]Nota: contains() requiere una referencia al valor usando &.
Pruébalo tú mismo
use std::io;
use std::convert::TryInto;
fn analyze_array(arr: &mut [String; 5]) {
// Escribe el código aquí
// Imprimir 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);
}Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Fundamentals
4Operadores Parte 1
Operadores aritméticosOperador de móduloAtajos aritméticosOperadores de comparaciónComparación de strings13Arrays: Continuación
Arrays de referencia mutablesMétodos de arraysResumen: Array de productosResumen: Array invertidoImpresión mejorada5Operadores Parte 2
Operadores lógicos Parte 1Operadores lógicos Parte 2Repaso - Lógica simpleOperadores lógicos Parte 33Variables Parte 2
Declaración de tiposConvenciones de nomenclaturaInferencia de tiposResumen - Inicializar variablesConversión de tipos9Bucles
For sobre seriesBucle WhileBreakContinueBucle anidadoEtiquetas de bucleBucle infinitoResumen - Entrada dinámica