From: Joel Pearson Date: 2013-01-31T18:46:02+09:00 Subject: Select "columns" from multidimensional array? There's probably a simpler answer to this than the ways I've come up with. What's the best way to select columns from a two-dimensional array? I build arrays to match excel-style formatting, like this but larger: __________________ a = [ [ 'A1', 'A2', 'A3' ], [ 'B1', 'B2', 'B3' ], [ 'C1', 'C2', 'C3' ] ] def get_cols (multi_array, headers ) indices = [] headers.each { |val| indices << multi_array[0].index(val) } indices.compact! multi_array.map do |ar| indices.map { |idx| ar[idx] } end end get_cols a, %w(A1 A3) => [["A1", "A3"], ["B1", "B3"], ["C1", "C3"]] __________________ I haven't been able to work out a way to do this without writing long-winded code. Is there a simple solution? Thanks. -- Posted via http://www.ruby-forum.com/.