Rubyで構造化データ
配列の配列を作る。
aoa = Array.new aoa << [ 100, 3 ] aoa << [ 200, 2 ] aoa << [ 300, 1 ]
ハッシュの配列を作る。
aoh = Array.new aoh << [ :id=>100, :weight=>3 ] aoh << [ :id=>200, :weight=>2 ] aoh << [ :id=>300, :weight=>1 ]
Arrayをソートするにはsortメソッドが使える。
# 第1カラムでソート aoa_sorted = aoa.sort { |a,b| a[1]<=>b[1] }
Array of Hashをソートする場合は、sort_byメソッドを使うと簡単。
# weightフィールドでソート aoh_sorted = aoh.sort_by { |e| e[:weight] }
Array of Arrayだと、フットプリントは要素あたり40バイトくらいで、Array of Hashだと190バイトくらいだった。