Tengo una matriz y quiero insertar un nuevo elemento entre todos los elementos, de alguna manera como el método join
. Por ejemplo, tengo¿Cómo insertar un nuevo elemento entre todos los elementos de una matriz de Ruby?
[1, [], "333"]
y lo que necesito es
[1, {}, [], {}, "333"]
Nota se insertó un nuevo hash de vacío entre todos los elementos.
Editar: Actualmente lo que tengo es:
irb(main):028:0> a = [1, [], "333"]
=> [1, [], "333"]
irb(main):029:0> a = a.inject([]){|x, y| x << y; x << {}; x}
=> [1, {}, [], {}, "333", {}]
irb(main):030:0> a.pop
=> {}
irb(main):031:0> a
=> [1, {}, [], {}, "333"]
irb(main):032:0>
Quiero saber la mejor manera.
'x.push (y, {})' es más corto, tanto '<<' como 'push' return array, por lo que no necesita'; x', 'inject' es lento –