Método para rellenar una matriz en Ruby
Esto es lo que tengo ahora y está funcionando de alguna manera:
def padding(a, b, c=nil)
until a[b-1]
a << c
end
end
Esto es cuando funciona:
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]
Pero se bloquea cuando no ingreso un valor para "c"
a=[1,2,3]
padding(a,10)
Killed
¿Cómo debo agregar esto para evitar un choque? Además, ¿cómo sugeriría cambiar este método para usarlo de la siguiente manera:
[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"]
He visto otros métodos de relleno en SO, pero no parecen funcionar según lo previsto por los autores. Entonces, decidí darle una oportunidad a la mía.