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变成一个数组吗?
答案 0 :(得分:2)
那将是FromIterator::from_iterator(iterator)
。
更常用的界面是Iterator.collect
(链接是主文档,但在0.8和0.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)]