院卒新人サラリーマンのメモ代わり

備忘としてのメモを記載

2次元配列をハッシュで整理

2次元配列でデータだけ与えられて、それをわかりやすく整理する方法

class Hoge
  def initialize(data)
    @data=[]
    data.each_with_index do |(v1, v2), i|
      @data[i] = {first: v1, second: v2}
    end
  end

  def print_data
    puts @data
  end
end

data=[[1,2],[3,4],[5,6]]
hoge = Hoge.new(data)
hoge.print_data
    # => {:first=>1, :second=>2}
    # => {:first=>3, :second=>4}
    # => {:first=>5, :second=>6}

Structクラスを使うほうが良いかもしれないけど
とりあえずハッシュで

よく考えてみたらeach_with_index使う必要なかったわ

# 略
    @data=[]
    data.each do |v1, v2|
      @data << {first: v1, second: v2}
    end


シンプルなStructであるOpenStrcutを使った場合

require "ostruct"
# 略
    @data = []
    data.each do |v1, v2|
      data = OpenStruct.new
      data.first = v1
      data.second = v2
      @data << data
    end