verbraucht Ich habe die folgende Funktion, die einen Vektor als Argument verwendet und einen Vektor der Paare von Elementen:Alternative zu Vec :: Brocken(), die den Vektor
fn to_pairs(flat: Vec<u64>) -> Vec<(u64, u64)> {
assert!(flat.len() % 2 == 0);
let mut pairs = Vec::new();
pairs.reserve(flat.len()/2);
for pair in flat.chunks(2) {
assert!(pair.len() == 2);
pairs.push((pair.get(0).unwrap().clone(), pair.get(1).unwrap().clone()));
}
pairs
}
ich den Vektor verbrauchen wollen flat
also muss ich seine Elemente nicht klonen, wenn ich das Paar konstruiere. Ist es möglich, eine Variation von Vec::chunks()
selbst nicht erneut zu implementieren?
Haben Sie 'unsafe' verwenden? – kennytm
würde ich lieber nicht. –
Ist es geeignet, wenn Sie andere Strukturen wie [numeric :: Tensor] (http://numeric.rs/doc/numeric/tensor/struct.Tensor.html) verwenden, die das Umformen unterstützt? – kennytm