如何将Zip转换为生锈0.8中的数组?

时间:2014-01-14 01:01:17

标签: arrays iterator zip rust rust-0.8

docs似乎表明在将两个迭代器压缩在一起之后,可以将它们转换为带有.from_iterator()的数组,但是当我尝试这样做时,生锈报告:

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

有人可以提供一个生锈的示例代码,用于将一个Zip变成一个数组吗?

2 个答案:

答案 0 :(得分:2)

那将是FromIterator::from_iterator(iterator)

更常用的界面是Iterator.collect(链接是主文档,但在0.80.9中是相同的),您将调用iterator.collect()

答案 1 :(得分:0)

Rust 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)]