Чтобы изменить массив после присваивания:
array.map! { |x| x || 0 }
Обратите внимание, что это также преобразует false
в 0
.
Если вы хотите использовать нули во время назначения , это немного грязно:
i = 10
a = [1, 2, 3]
a += ([0] * (i - a.size)) << 2
# => [1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 2]