Метод заполнения массива в Ruby
Вот то, что у меня сейчас, и это несколько работает:
def padding(a, b, c=nil)
until a[b-1]
a << c
end
end
Вот когда это работает:
a=[1,2,3]
padding(a,10,"YES")
=>[1, 2, 3, "YES", "YES", "YES", "YES", "YES", "YES", "YES"]
a[1,2,3]
padding(a,10,1)
=>[1, 2, 3, 1, 1, 1, 1, 1, 1, 1]
Но происходит сбой, когда я не ввожу значение для "c"
a=[1,2,3]
padding(a,10)
Killed
Как мне добавить это, чтобы избежать сбоя? Кроме того, как бы вы предложили изменить этот метод, чтобы использовать его следующим образом:
[1,2,3].padding(10)
=>[1,2,3,nil,nil,nil,nil,nil,nil,nil]
[1,2,3].padding(10, "YES")
=>[1, 2, 3, "YES", "YES", "YES", "YES", "YES", "YES", "YES"]
Я видел другие методы заполнения в SO, но они, похоже, не работают так, как задумано авторами. Итак, я решил сделать свой собственный выстрел.