Tôi có một Mảng và muốn chèn một phần tử mới vào giữa tất cả các phần tử, cách nào đó giống như phương thức join
. Ví dụ, tôi cóLàm thế nào để chèn một phần tử mới vào giữa tất cả các phần tử của một mảng Ruby?
[1, [], "333"]
và những gì tôi cần là
[1, {}, [], {}, "333"]
Lưu ý một hash trống mới được chèn vào giữa tất cả các yếu tố.
Edit: Hiện nay những gì tôi có là:
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>
Tôi muốn biết cách tốt nhất.
'x.push (y, {})' ngắn hơn, cả mảng '' 'và' push', vì vậy bạn không cần '; x',' inject' là chậm –