Indexing 有没有办法在生锈的情况下折叠?

Indexing 有没有办法在生锈的情况下折叠?,indexing,rust,fold,Indexing,Rust,Fold,在Ruby中,如果我有一个数组a=[1,2,3,4,5],我想得到每个元素的总和乘以它的索引,我可以这样做 a.each.with_index.inject(0){s,(i,j){s+i*j} 有没有一个惯用的方法来做同样的事情?到目前为止,我已经 a.into_iter().fold(0, |x, i| x + i) 但这并不能解释指数,我也无法找到一种方法来解释指数。这可能吗?如果可能,如何实现?您可以将其与以下链接: 美丽的!那正是我想要的!谢谢。很高兴我能帮忙!:)如果使用.enum

在Ruby中,如果我有一个数组
a=[1,2,3,4,5]
,我想得到每个元素的总和乘以它的索引,我可以这样做

a.each.with_index.inject(0){s,(i,j){s+i*j}
有没有一个惯用的方法来做同样的事情?到目前为止,我已经

a.into_iter().fold(0, |x, i| x + i)
但这并不能解释指数,我也无法找到一种方法来解释指数。这可能吗?如果可能,如何实现?

您可以将其与以下链接:


美丽的!那正是我想要的!谢谢。很高兴我能帮忙!:)如果使用
.enumerate()
在折叠中给我索引,它会在
acc
curr
之后或之前添加参数吗?
fn main() {
    let a = [1, 2, 3, 4, 5];
    let b = a.into_iter().enumerate().fold(0, |s, (i, j)| s + i * j);

    println!("{:?}", b); // Prints 40
}