Когда я использую итераторы, мне часто приходится явно разыменовывать значения. Следующий код находит сумму всех пар элементов в векторе:
extern crate itertools;
use crate::itertools::Itertools;
fn main() {
let x: Vec<i32> = (1..4).collect();
x.iter()
.combinations(2)
.map(|xi| xi.iter().map(|bar| **bar)
.sum::<i32>())
.for_each(|bar| println!("{:?}", bar));
}
Есть ли лучший способ выполнить разыменование, чем использование map
?
Еще лучше было бы способ выполнения этих типов операций без разыменования вообще.