From: "Peña, Botp" Date: 2006-11-21T19:58:01+09:00 Subject: Re: array question On_Behalf_Of_Li_Chen: # I run array=[1,2,3,4,5] # new_array = array.dup # new_array.shift # new_array.pop # I get [2,3,4] but I want this result [1,2,2,3,3,4,4,5] but you can build from there. you just have to assemble it back, something like, irb(main):031:0> array=[1,2,3,4,5] => [1, 2, 3, 4, 5] irb(main):032:0> new_array = array.dup => [1, 2, 3, 4, 5] irb(main):035:0> first = new_array.shift => 1 irb(main):036:0> last = new_array.pop => 5 irb(main):037:0> new_array => [2, 3, 4] irb(main):038:0> new_array.map{|e| [e,e]}.flatten => [2, 2, 3, 3, 4, 4] irb(main):039:0> new_array.map{|e| [e,e]}.flatten.unshift(first) => [1, 2, 2, 3, 3, 4, 4] irb(main):040:0> new_array.map{|e| [e,e]}. flatten. unshift(first). push(last) => [1, 2, 2, 3, 3, 4, 4, 5] irb(main):041:0> kind regards -botp # Li