在Ruby中,如果我有一个数组<!DOCTYPE html>
<html>
<head>
<style type="text/css">
div.square {
background-color: #ccc;
height: 200px;
width: 200px;
margin: 10px;
}
</style>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.0-rc.2/angular.js"></script>
<script type="text/javascript">
var app= angular.module("myApp",[]);
app.controller("myCtrl",function($scope){
$scope.items= [
{value: ''}
];
$scope.addSomething= function(){
$scope.items.push({value:''});
};
});
</script>
</head>
<body ng-app="myApp" ng-controller="myCtrl">
<button id="button" ng-click="addSomething()">click me</button>
<div ng-repeat="item in items">
<input type="text" placeholder="Headline" ng-model="item.value">
</div>
<div ng-repeat="item in items">
<div class="square">
<h3>{{item.value}}</h3>
</div>
</div>
</body>
</html>
并且我希望得到每个元素的总和乘以它的索引我可以做
a = [1, 2, 3, 4, 5]
在Rust中有同样的方法来做同样的事情吗?到目前为止,我有
a.each.with_index.inject(0) {|s,(i,j)| s + i*j}
但这并没有考虑到索引,我无法找到一种方法来让它考虑索引。这是可能的,如果是的话,怎么样?
答案 0 :(得分:15)
您可以使用enumerate
链接它:
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
}