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