2017-12-18 105 views
0

我:如何修改子阵到位

a = [1,2,4,5] 

我想修改这个数组得到:

a #=> [1,0,0,0] 

这可以用一个each回路来完成,但我想不会在这里使用循环。这里是我的代码:

a.values_at(1..3).map! {|i| i = 0} 

回答

7

您可以使用fill

a = [1, 2, 4, 5] 
#=> [1, 2, 4, 5] 

a.fill(0, 1) 
#=> [1, 0, 0, 0] 

a 
#=> [1, 0, 0, 0] 

上述代码设置在a的元素0,开始于索引1