Как мне конвертировать Zip в массив с ржавчиной 0,8?

Документы, кажется, указывают, что после объединения двух итераторов, вы можете превратить их в массив с .from_iterator(), но когда я пытаюсь сделать это, ржавчина сообщает:

std::iter::Zip<std::vec::VecIterator<,int>,std::vec::VecIterator<,int>>` does not implement any method in scope named `from_iterator`

Может кто-нибудь дать рабочий пример кода для rust 0.8, который превращает Zip в массив?

2 ответа

Решение

Это было бы FromIterator::from_iterator(iterator),

Наиболее часто используемый интерфейс для этого Iterator.collect (ссылка на основную документацию, но она одинакова в 0,8 и 0,9), посредством чего вы будете звонить iterator.collect(),

Руст 0,8 устарел, вы должны обновить до 0,9. Следующие работы в 0.9:

let a = ~[1,12,3,67];
let b = ~[56,74,13,2];
let c: ~[(&int,&int)] = a.iter().zip(b.iter()).collect();
println!("{:?}", c);

Результат:

~[(&1, &56), (&12, &74), (&3, &13), (&67, &2)]
Другие вопросы по тегам