Multidimensional Array

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

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 Wed, Nov 28, 2012 at 2:15 PM, John M. [email protected] 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

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

Thanks a lot for the help , tried

your_array.collect{|y| [y[0].to_s,y[1…3]].flatten}

and did work fine

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs