2

文档似乎表明将两个迭代器压缩在一起后,您可以将它们变成一个数组,.from_iterator()但是当我尝试这样做时,锈报告:

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

有人可以提供将 Zip 转换为数组的 rust 0.8 的工作示例代码吗?

4

2 回答 2

3

那将是FromIterator::from_iterator(iterator)

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

于 2014-01-14T01:26:30.137 回答
1

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)]
于 2014-01-14T14:14:44.083 回答