这就是我想做的事情
a = [1, 2, 3, 4]
a[1] = 0
a[2] = 0
执行此操作的一种方法是循环
(1..2).each { |x| x = 0 }
有没有办法用范围或splats以某种方式做到这一点?
之类的东西a[(1..2)] = 0
答案 0 :(得分:5)
a = [1, 2, 3, 4]
a[1..2] = [0] * 2
p a #[1, 0, 0, 4]
您不能只在第2行输入a[1..2] = 0
,因为数组a
将变为[1, 0, 4]
答案 1 :(得分:2)
或者,Array#fill
a.fill(0, 1..2)
答案 2 :(得分:1)
有范围
ary = [1, 2, 3, 4]
ary[1..2] = [0,0]
使用[start,length]
a = [1,2,3,4]
a[1,2] = [0,0]