2015-05-25 21 views

cevap

14

Kullanım Iterator::collect:

use std::collections::HashMap; 

fn main() { 
    let tuples = vec![("one", 1), ("two", 2), ("three", 3)]; 
    let m: HashMap<_, _> = tuples.into_iter().collect(); 
    println!("{:?}", m); 
} 

collectFromIterator trait yararlanır. Herhangi bir yineleyici, FromIterator'u uygulayan bir türe toplanabilir.

impl<K, V, S> FromIterator<(K, V)> for HashMap<K, V, S> 
where 
    K: Eq + Hash, 
    S: HashState + Default, 

başka bir yol, ilk değer be hashed ve compared for total equality bir HashMap dönüştürülebilir olabilir dizilerini bir yineleyici Bahsedilen: Bu durumda, HashMap bunu uygular. S parametresi hakkında konuşmak heyecan verici değildir, sadece karma yönteminin ne olduğunu tanımlar.

+0

Güzel, yani 'FromIterator', Rust'ın 'CanBuildFrom'udur :) (Biliyorum, ama bunu anlamak daha kolay ...) –

İlgili konular