ruby-list MLを見ていたら「RubyのHashは順序を保存するので~」との一文が。
てっきり順不同だと思ってたので意外でしたが、試してみたらこんな感じ。
ちゃんと保存されてました。へーへーへー。
sample.rb
hash1 = {}
hash1[:key1] = :val1
hash1[:key2] = :val2
hash1[:key3] = :val3
p hash1 # {:key1=>:val1, :key2=>:val2, :key3=>:val3}
hash2 = {}
hash2[:key3] = :val3
hash2[:key2] = :val2
hash2[:key1] = :val1
p hash2 # {:key3=>:val3, :key2=>:val2, :key1=>:val1}
p hash1.keys # [:key1, :key2, :key3]
p hash2.keys # [:key3, :key2, :key1]
p hash1 == hash2 # true