2014-01-14 36 views
1

docs似乎表明,拉上兩個迭代器一起後,你可以把它們變成一個數組.from_iterator(),但是當我嘗試這樣做,防鏽報道:如何將Zip轉換爲鏽0.8中的數組?

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

可能有人請給工作示例代碼生鏽0.8,將一個Zip變成一個數組?

+1

生鏽0.8? :-( –

回答

2

那將是FromIterator::from_iterator(iterator)

較常用的接口是Iterator.collect(鏈接是掌握文檔,但它同樣在0.80.9),因此您將調用iterator.collect()

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)] 
+0

我會,但是Homebrew沒有安裝0.9的公式。 – mcandre

+0

@mcandre:我相信你可以指定'--HEAD'並且它會安裝master--這就是動作的地方,我會強烈的建議您使用該值,而不是0.8或0.9。 –