This is what I want to do
a = [1, 2, 3, 4]
a[1] = 0
a[2] = 0
一种实现此目的的方法是循环。
(1..2).each { |x| x = 0 }
有没有使用范围或星号之类的方式来实现这一点?就像下面这样:
a[(1..2)] = 0
a = [1, 2, 3, 4]
a[1..2] = [0] * 2
p a #[1, 0, 0, 4]
如果你在第二行只输入 a[1..2] = 0
,数组 a
将会变成 [1, 0, 4]
,因此这种方式是不正确的。
Array#fill
方法。a.fill(0, 1..2)
使用范围
ary = [1, 2, 3, 4]
ary[1..2] = [0,0]
使用 [起始位置,长度]
a = [1,2,3,4]
a[1,2] = [0,0]