Collect hacia lo que sea en Rust
collect construye el tipo que le pidas — mapa, cadena o Result.
use std::collections::HashMap;
fn main() {
let pairs = [("python", 6), ("rust", 11)];
let tours: HashMap<&str, i32> = pairs.into_iter().collect();
println!("{}", tours["rust"]);
let letters: String = ["ru", "st"].into_iter().collect();
println!("{letters}");
let good: Result<Vec<i32>, _> =
["1", "2", "3"].iter().map(|s| s.parse::<i32>()).collect();
let bad: Result<Vec<i32>, _> =
["1", "no"].iter().map(|s| s.parse::<i32>()).collect();
println!("{:?} {}", good, bad.is_err());
}
Cómo funciona
- El tipo destino decide qué colección se construye.
- Colectar en
Resultse detiene en el primer error. - Un iterador de pares se colecta directo en un
HashMap.
Palabras clave y builtins usados aquí
ResultStringVecfni32letstruse
El intento, en números
- Líneas
- 16
- Caracteres a escribir
- 483
- Tokens
- 214
- Ritmo de tres estrellas
- 100 tpm
Al ritmo de tres estrellas de 100 tokens por minuto, este intento toma unos 128 segundos.
Paso 2 de 3 en Operaciones terminales; paso 10 de 14 en Iteradores y closures.