typestar

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

  1. El tipo destino decide qué colección se construye.
  2. Colectar en Result se detiene en el primer error.
  3. Un iterador de pares se colecta directo en un HashMap.

Palabras clave y builtins usados aquí

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.

Escribe este fragmento

Paso 2 de 3 en Operaciones terminales; paso 10 de 14 en Iteradores y closures.

← Anterior Siguiente →