Hi , Currently I am using Ruby and a beginner I have the following multidimensional Array: [[value1, value1_other1 ,value1_other2], [value2, value2_other1,value2_other2], [value3, value3_other1,value3_other2]] but i would like to get like this [['value1', value1_other1 , value1_other2], ['value2', value2_other1, value2_other2], ['value3', value3_other1, value3_other2]] Can anyone please help me in doing this
on 2012-11-28 15:15
on 2012-11-28 15:33
Hi, what do you mean by 'value1'? Do you want to convert the value into a string? Just loop through the subarrays and replace the first element of each one with its string representation (the result of to_s).
on 2012-11-28 15:45
On Wed, Nov 28, 2012 at 2:15 PM, John M. <lists@ruby-forum.com> wrote: > > [['value1', value1_other1 , value1_other2], ['value2', value2_other1, > value2_other2], ['value3', value3_other1, value3_other2]] > > > Can anyone please help me in doing this Enumerable and array documentation are your friends: http://www.ruby-doc.org/core-1.9.3/Array.html http://ruby-doc.org/core-1.9.3/Enumerable.html your_array = [[value1, value1_other1 ,value1_other2], [value2, value2_other1,value2_other2], [value3, value3_other1,value3_other2]] new_array = your_array.collect{|y| [y[0].to_s,y[1..3]].flatten} Alan
on 2012-11-28 16:53
Thanks a lot for the help , tried
your_array.collect{|y| [y[0].to_s,y[1..3]].flatten}
and did work fine
on 2012-11-28 23:54
Alan Forrester wrote in post #1086898: > > your_array = [[value1, value1_other1 ,value1_other2], [value2, > value2_other1,value2_other2], [value3, value3_other1,value3_other2]] > > new_array = your_array.collect{|y| [y[0].to_s,y[1..3]].flatten} > new_array = data.map do |arr| [ arr[0].to_s, *arr[1..-1] ] end
Please log in before posting. Registration is free and takes only a minute.
Existing account
(Switch to SSL-encrypted connection)
NEW: Do you have a Google/GoogleMail or Yahoo account? No registration required!
Log in with Google account | Log in with Yahoo account
Log in with Google account | Log in with Yahoo account
No account? Register here.