maeshimaの日記

メモ書きです

Hash#inspect

key/valueの順番ってどうなるのかなーと思って調べました。どういうロジックで順番決めてるのかはよくわからないですが、基本的に中身が同じなら同じ出力になるみたいですね。ちなみに別プロセスでも同じ結果でした。

ree-1.8.7-2010.01 > {:b => "fuga", :a => "hoge", :c => "foo"}.inspect
 => "{:c=>\"foo\", :a=>\"hoge\", :b=>\"fuga\"}" 
ree-1.8.7-2010.01 > {:a => "hoge", :b => "fuga", :c => "foo"}.inspect
 => "{:c=>\"foo\", :a=>\"hoge\", :b=>\"fuga\"}" 
ree-1.8.7-2010.01 > {:b => "fuga", :c => "foo", :a => "hoge"}.inspect
 => "{:c=>\"foo\", :a=>\"hoge\", :b=>\"fuga\"}" 

追記

どうも状況によっては順番が違うこともあるみたい